Crystal Report 中 Crpe1 的 SQL property 該如何使用 |
尚未結案
|
soonly
一般會員 發表:19 回覆:15 積分:6 註冊:2002-12-11 發送簡訊給我 |
小弟不才最近在研究 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 發送簡訊給我 |
您好:
把條件寫在這裡試試看 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 發送簡訊給我 |
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 發送簡訊給我 |
|
babyfish4
一般會員 發表:2 回覆:40 積分:18 註冊:2003-08-04 發送簡訊給我 |
嗯...
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 來完成呢? 還是有其它的做法.... 有沒有大大能分享經驗.... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |