全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2072
推到 Plurk!
推到 Facebook!

Crystal Report 中 Crpe1 的 SQL property 該如何使用

尚未結案
soonly
一般會員


發表:19
回覆:15
積分:6
註冊:2002-12-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-17 17:47:28 IP:203.73.xxx.xxx 未訂閱
小弟不才最近在研究 DELPHI 7.0 加 Crystal Report, 目前在 Crystal Report 中用 ADO 連到 SQL SERVER, 並利用 Command 下 SQL Command 來取得資料. 小弟現在想在 DELPHI 中,透過 CPRE1.SQL 來設定與原來的 SQL Command 相同的 SELECT CLAUSE 但希望加上 WHERE condition 時出現錯誤. 錯誤訊息如下: Project project1.exe raised exception class ECrpeError with message 'Error:536 in File E:\mytest\CR\TEST2\Report1.rpt Unable to connect: incorrect log on parameters. SQL SetQuery '. Porcess stop. Use Stop or Run to continue. ============================ 我的 code 如下 Crpe1.SQL.Clear; Crpe1.SQL.Query.Add('SELECT MV001,MV002,MV004,MV008 FROM CMSMV WHERE LEFT(MV001,1)=''0'''); Crpe1.Connect.Password :='test'; Crpe1.Show;
babyfish4
一般會員


發表:2
回覆:40
積分:18
註冊:2003-08-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-17 18:07:07 IP:61.63.xxx.xxx 未訂閱
您好:
把條件寫在這裡試試看
  Crpe1.Selection.Formula.Clear;
  Crpe1.Selection.Formula.Add('LEFT(MV001,1)=''0'''');
引言: 小弟不才最近在研究 DELPHI 7.0 加 Crystal Report, 目前在 Crystal Report 中用 ADO 連到 SQL SERVER, 並利用 Command 下 SQL Command 來取得資料. 小弟現在想在 DELPHI 中,透過 CPRE1.SQL 來設定與原來的 SQL Command 相同的 SELECT CLAUSE 但希望加上 WHERE condition 時出現錯誤. 錯誤訊息如下: Project project1.exe raised exception class ECrpeError with message 'Error:536 in File E:\mytest\CR\TEST2\Report1.rpt Unable to connect: incorrect log on parameters. SQL SetQuery '. Porcess stop. Use Stop or Run to continue. ============================ 我的 code 如下 Crpe1.SQL.Clear; Crpe1.SQL.Query.Add('SELECT MV001,MV002,MV004,MV008 FROM CMSMV WHERE LEFT(MV001,1)=''0'''); Crpe1.Connect.Password :='test'; Crpe1.Show;
babyfish4
一般會員


發表:2
回覆:40
積分:18
註冊:2003-08-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-17 18:19:57 IP:61.63.xxx.xxx 未訂閱
Sorry... 會出現 Unable to connect: incorrect log on parameters. 應該是沒有正確連上資料庫喔 你可以先試試看不對Crpe1.SQL進行任何修改 然後先用Crpe1.Connect.Test試試看可否連上資料庫
引言: 小弟不才最近在研究 DELPHI 7.0 加 Crystal Report, 目前在 Crystal Report 中用 ADO 連到 SQL SERVER, 並利用 Command 下 SQL Command 來取得資料. 小弟現在想在 DELPHI 中,透過 CPRE1.SQL 來設定與原來的 SQL Command 相同的 SELECT CLAUSE 但希望加上 WHERE condition 時出現錯誤. 錯誤訊息如下: Project project1.exe raised exception class ECrpeError with message 'Error:536 in File E:\mytest\CR\TEST2\Report1.rpt Unable to connect: incorrect log on parameters. SQL SetQuery '. Porcess stop. Use Stop or Run to continue. ============================ 我的 code 如下 Crpe1.SQL.Clear; Crpe1.SQL.Query.Add('SELECT MV001,MV002,MV004,MV008 FROM CMSMV WHERE LEFT(MV001,1)=''0'''); Crpe1.Connect.Password :='test'; Crpe1.Show;
soonly
一般會員


發表:19
回覆:15
積分:6
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-17 19:15:43 IP:203.73.xxx.xxx 未訂閱
不好意思,你的 Formula 我試了,不行. 而且 Formula 好像是用來設 calculated field 的吧... 不好意思... 小弟的想說是想透過 delphi 傳送動態 SQL Command 給 Crystal Report, 不知道有沒有人這樣做過, 是不是透過 Crpe1.SQL 來完成呢? 還是有其它的做法.... 有沒有大大能分享經驗....
babyfish4
一般會員


發表:2
回覆:40
積分:18
註冊:2003-08-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-18 11:43:26 IP:61.229.xxx.xxx 未訂閱
嗯... 1.Crpe1.Selection.Formula應該是由Crystal Report中Select Expert所產生之條件 所以條件放在這邊應該是可以的,你可以先試試在Crystal Report中利用Select Expert方式先將LEFT的條件加入,然後開Delphi 利用Crpe1去讀取你的Report ,然後看Crpe1.Formula裡頭有沒有出現Left的條件,看看人家的語法,然後照抄最後再動態Clear,Add.... 2.Crpe1.SQL方式,可以動態傳送SQL Command給Crystal Report, 只是你最後也是要先看看Crpe1把你的SQL Command由Crystal Report轉到Delphi 後會變成什麼樣的語法... 3.我試過動態傳送,不過要注意的事Select出來的欄位名稱和順序要跟原來在Crystal Report裡頭一樣 4.Crystal利用SQL Command產生出來的欄位名稱都要加上Command.XXXXX XXXXX是你真正的欄位名稱 5.不知你有先試過Crpe1.Connect.Test嗎?先不要把Crpe1.SQL或Crpe1.Selection.Formula進行修改 6.祝好運
引言: 不好意思,你的 Formula 我試了,不行. 而且 Formula 好像是用來設 calculated field 的吧... 不好意思... 小弟的想說是想透過 delphi 傳送動態 SQL Command 給 Crystal Report, 不知道有沒有人這樣做過, 是不是透過 Crpe1.SQL 來完成呢? 還是有其它的做法.... 有沒有大大能分享經驗....
系統時間:2024-11-24 14:33:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!