Adoquery按保存(Adoquery1.updatebatch())的时候出错.怎么判断当前是否 |
答題得分者是:cashxin2002
|
tomc
一般會員 發表:41 回覆:35 積分:15 註冊:2003-07-27 發送簡訊給我 |
procedure Tfrmorder.BitBtn4Click(Sender: TObject); //保存数据
begin
adoquery1.FieldByName('状态').Value:='未完成';
if (adoquery1.state=dsEdit)or(adoquery1.state=dsInsert) then //一按保存,这里出错
adoquery1.UpdateBatch();
end; 以下是出错的信息:
---------------------------
Debugger Exception Notification
---------------------------
Project Project.exe raised exception class EDatabaseError with message 'ADOQuery1: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
--------------------------- 交流.學習
------
交流.學習 |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 您似乎有些誤解ADO的BatchUpdate功能了﹐用BatchUpdate關鍵字查詢應會發現許多相關的文章﹒
程式碼改為如下應可使用﹕
procedure Tfrmorder.BitBtn4Click(Sender: TObject); //保存数据 begin adoquery1.FieldByName('状态').Value:='未完成'; if (adoquery1.state In [dsEdit, dsInsert]) then adoquery1.Post; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
tomc
一般會員 發表:41 回覆:35 積分:15 註冊:2003-07-27 發送簡訊給我 |
引言: 您好﹗ 您似乎有些誤解ADO的BatchUpdate功能了﹐用BatchUpdate關鍵字查詢應會發現許多相關的文章﹒ 程式碼改為如下應可使用﹕也是不行,按Save后提示: --------------------------- Project --------------------------- ADOQuery1: Dataset not in edit or insert mode. --------------------------- 确定 --------------------------- 交流.學習procedure Tfrmorder.BitBtn4Click(Sender: TObject); //保存数据 begin adoquery1.FieldByName('状态').Value:='未完成'; if (adoquery1.state In [dsEdit, dsInsert]) then adoquery1.Post; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
交流.學習 |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗
procedure Tfrmorder.BitBtn4Click(Sender: TObject); //保存数据 begin adoquery1.FieldByName('状态').Value:='未完成'; if Not (adoquery1.state In [dsEdit, dsInsert]) then begin ShowMessage('資料表未處于修改或新增狀態﹐無法保存'); Abort; end else begin adoquery1.Post; end; end; //您需要确認在按下此鍵的時候﹐資料集元件adoquery1已經處于修改或者修改狀態﹐以上程式碼控制如果未處于此兩種狀態時則會取消動作================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
tomc
一般會員 發表:41 回覆:35 積分:15 註冊:2003-07-27 發送簡訊給我 |
引言: 您好﹗交流.學習procedure Tfrmorder.BitBtn4Click(Sender: TObject); //保存数据 begin adoquery1.FieldByName('状态').Value:='未完成';//还没edit就赋值了,所以错在这里,谢啦 if Not (adoquery1.state In [dsEdit, dsInsert]) then begin ShowMessage('資料表未處于修改或新增狀態﹐無法保存'); Abort; end else begin adoquery1.Post; end; end; //您需要确認在按下此鍵的時候﹐資料集元件adoquery1已經處于修改或者修改狀態﹐以上程式碼控制如果未處于此兩種狀態時則會取消動作================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
交流.學習 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |