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

ADO;請問post跟insert與ADOQuery中SQL指令的執行

答題得分者是:tech_state

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-11 14:15:32 IP:211.23.xxx.xxx 未訂閱
請問各位前輩們 小弟剛剛在Help中查到關於post與insert的用法 雖然用途都是在增加一筆資料 不過好像post的用法會直接增加到最後 而insert的話,小弟就不清楚 而這兩個指令下達後對ADOQueey執行SQL有差別!!!    void __fastcall TForm1::Button1Click(TObject *Sender) { ADOQuery1->Close();          // ADOQuery1->SQL->Clear();     // 請問斜線的這兩行是什麼意思 ADOQuery1->SQL->Add("select data1,data2,data3 from data1"); ADOQuery1->Open(); } 不知道ADOQuery1->Open()與ADOQuery1->ExecSQL()有何不同 執行insert資料後,再按Button1無法列SQL語法中指定的欄位 而執行post資料後,再按Button1可以列出SQL語法中指定的欄位 想請問這兩種指令的用法是適合什麼情況 謝謝 發表人 - 流 於 2003/08/11 14:18:32

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-11 15:59:04 IP:211.23.xxx.xxx 未訂閱
對於ADOQuery1->Open()與ADOQuery1->ExecSQL()有何不同 小弟已經在第七期的電子報中看到 不過可能是因為我尚未用到ADoDataSet元件,所以才不明所以 謝謝
tech_state
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-11 20:42:17 IP:61.218.xxx.xxx 未訂閱
流, 您好 我想您誤會post與insert的功用了。 insert是指對資料庫做新增的動作,但是必須等到您對資料庫做post的動作之後,資料才會真正的被寫到資料庫裡。 對資料庫做insert和edit之後,皆必須再下一個post的指令,才能讓資料寫入資料庫。 再來,看看您提出的問題。 ADOQuery1->Close(); //是指將ADOQuery1關閉對外的連結(Connection),如此您在對ADOQuery1做任何其他的動作變更時,才不會受影響。 ADOQuery1->SQL->Clear(); //將ADOQuery1->SQL是存放SQL語法的地方,這個動作是將目前已經存放在此的SQL語法清除,以免影響接下來要再做的SQL語法。 您可試試看先在ADOQuery1的SQL屬性中輸入其他的SQL語法,而不做清除的動作,然後直接繼續您的這行指令ADOQuery1->SQL->Add("select data1,data2,data3 from data1");看看會有什麼情形? 表達能力不好,如果有說不清楚的地方,請包涵。< > 以上為個人想法,如有錯誤請指正。< > ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-13 23:12:27 IP:218.163.xxx.xxx 未訂閱
您回覆的很詳細了! ^^ 感謝指導!
系統時間:2024-04-27 8:31:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!