ADO;請問post跟insert與ADOQuery中SQL指令的執行 |
答題得分者是:tech_state
|
流
中階會員 發表:36 回覆:142 積分:70 註冊:2003-07-24 發送簡訊給我 |
請問各位前輩們
小弟剛剛在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 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
流, 您好
我想您誤會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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |