線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1877
推到 Plurk!
推到 Facebook!

ADOConnection的錯誤訊息

尚未結案
spooky
一般會員


發表:2
回覆:5
積分:1
註冊:2003-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-03 14:52:41 IP:61.222.xxx.xxx 未訂閱
各位先進: 請教一個 ADOConnection 的錯誤訊息: 在 Help 中有說明 _di__Recordset __fastcall Execute(const WideString CommandText, const TCommandType CommandType, const TExecuteOptions ExecuteOptions)/* overload */; 於是我便想試試看直接使用 ADOConnection 的 Execute,我使用的程式碼如下: ADOConn1->Execute(WideString(”insert into Batt_Meas01 (SN, Date_Time, Line_Station, Meas_Ave, Meas_Val, Offset, Batt_ADC, Delay_Flag) values('2004030314344', '2004/03/03 14:34:54', 'Test1' , 4146, '4134', 54, 4202, 'N')”), cmdText, eoExecuteNoRecords); 結果出現以下的錯誤訊息: [C Error] Main_From.cpp(182): E2285 Could not find a match for 'TADOConnection::Execute(WideString,TCommandType,TExecuteOption)' Why?? 多謝解答~
spooky
一般會員


發表:2
回覆:5
積分:1
註冊:2003-07-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 15:00:15 IP:61.222.xxx.xxx 未訂閱
我忘了提,我的環境是 Windows 2000 BCB5 (UpdatePack1, BCB5ADOUpgrade1) SQL 2000
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-03 22:15:02 IP:203.204.xxx.xxx 未訂閱
spooky, 您好 請試試修改以下紅色的部分,看看能否符合您的需求。 ADOConn1->Execute(WideString(”insert into Batt_Meas01 (SN, Date_Time, Line_Station, Meas_Ave, Meas_Val, Offset, Batt_ADC, Delay_Flag) values('2004030314344', '2004/03/03 14:34:54', 'Test1' , 4146, '4134', 54, 4202, 'N')”), cmdText, TExecuteOptions()); ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
spooky
一般會員


發表:2
回覆:5
積分:1
註冊:2003-07-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-04 08:25:17 IP:61.222.xxx.xxx 未訂閱
感謝 tech_state 版主的鼎力相助,剛剛試過 Compile 可以過了。 可是我有點不明白,請教一下 const TExecuteOptions ExecuteOptions 這個參數的代表的意義是什麼?是不是只我所下的 SQL Command 的性質是什麼嗎? 我在 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20587 看到的範例是 ADOConnection1->Execute(“select * from Tabel1 where name=’David’”,cmdText, eoAsyncExecute); 為什麼會無法通過 Compile ,而 tech_state 版主妳所建議可以通過 Compile 呢? 我有點搞迷糊了~
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-04 13:09:10 IP:211.20.xxx.xxx 未訂閱
你所列出的範例是Select,而你的SQL是Insert 基本上,一個是Out動作,一個是In的動作 應該是這樣的差異吧 你把自己的SQL改成Select再套到範例中試試
spooky
一般會員


發表:2
回覆:5
積分:1
註冊:2003-07-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-04 13:56:15 IP:61.222.xxx.xxx 未訂閱
Dear folkchen : 你好,因為所出現的訊息屬於 Compile 階段的錯誤訊息,因此是屬於語法上的錯誤,應該與是 Insert into 或是 Select 無關,剛剛我試了一下也是如此,不過還是感謝妳的指教。 tech_state 版主: 妳好~ 我所不明白的是,依照 Help 中第三個參數是 ExecuteOptions,於是我就輸入Help中所列舉的項目,因為我是 Insert 所以選擇 eoExecuteNoRecords。 而根據 tech_state 版主建議改為輸入TExecuteOptions(),即可通過 Compile,因此我所不解的是其中的因由。 還麻煩各位先進解答,感激不盡。
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-04 15:49:53 IP:61.221.xxx.xxx 未訂閱
spooky, 您好 剛剛看了您提供的連結資料, 我並不知道bruce0211版主提供的範例是否漏掉了其他資料, 或是我對此Methdos有所誤解, 我認為 ADOConnection1->Execute(“select * from Tabel1 where name=’David’”,cmdText, eoAsyncExecute); 若要可以正確通過Compilier的話, 應該改為 ADOConnection1->Execute(“select * from Tabel1 where name=’David’”,cmdText, (TExecuteOptions() << eoExecuteNoRecords)); 紅色部分表示將Execute Option設定為eoExecuteNoRecords, 若沒有設定則為預設值。 不知您是否查看過Help檔?Help檔中有提到 void __fastcall Execute(const WideString CommandText, int &RecordsAffected, const TExecuteOptions ExecuteOptions = (TExecuteOptions() << eoExecuteNoRecords )); ExecuteOptions is a TExecuteOptions value that specifies the characteristics of the command execution. 以上為個人想法,若有錯誤請指正。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
spooky
一般會員


發表:2
回覆:5
積分:1
註冊:2003-07-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-05 14:49:30 IP:61.222.xxx.xxx 未訂閱
tech_state 版主,妳好: 我的 help (BCB5) 是這樣寫的: void __fastcall Execute(const WideString CommandText, int &RecordsAffected, const TExecuteOptions ExecuteOptions)/* overload */; Description Call Execute to execute a command using the ADO connection object. CommandText is the command to execute. ExecuteOptions is a TExecuteOptions value that specifies the characteristics of the command execution. Execute returns a recordset if the command executed is one that generates a recordset. RecordsAffected indicates the number of records, if the command operates on data, that are affected by the command after execution. 英文不好加上有些語法不熟,所以可能看漏一些 Help 的內容。 感謝妳的鼎力相助,現在已經了解參數為何如此下了。
系統時間:2024-04-30 0:05:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!