如何取得“无法插入空行。 行必须至少有一个列值集”之类的错误信息2 |
答題得分者是:cashxin2002
|
daybreak
一般會員 ![]() ![]() 發表:14 回覆:15 積分:5 註冊:2003-11-05 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 試試使用try...except攔截錯誤的方法﹐範例如下﹕
begin try 您的程式碼部分... Except On MyError : Exception do //單獨針對Database的錯誤﹐上句也可寫成如下﹕ //On MyError : EDatabaseError do ShowMessage('錯誤的信息是﹕' + MyError.Message); end; end;=================================
------
忻晟 |
daybreak
一般會員 ![]() ![]() 發表:14 回覆:15 積分:5 註冊:2003-11-05 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
daybreak
一般會員 ![]() ![]() 發表:14 回覆:15 積分:5 註冊:2003-11-05 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 將您的程式碼修改如下﹕
procedure TForm1.FormCreate(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from bmk'); ADOConnection1.Connected:=True; //以上紅色句可省略﹐因為當ADOQuery1在Open的時候﹐會自動將 //ADOConnection1的Connected屬性值設為True ADOQuery1.Open; ADOQuery1.Active:=True; //以上紅色句刪除﹐因為ADOQuery1的Open方法即是將其 //Active屬性值設為True﹐再使用True方法就重复開啟了 end;我想您是利用DBGrid和DBNavigator來做資料的異動工作﹐當資料集元件進入dsInsert或dsEdit狀態時﹐如果將輸入光標移動到另外的位置就會触發Post方法﹐您可試試自行擬寫程式碼來控制Post方法﹐以達到使用try...except方法來攔截錯誤的目的﹒ 隱藏DBNavigator元件中的Post Button﹐在Form中加入一個Button元件﹐取名為并在此Button的OnClick事件中鍵入如下程式碼﹕ begin try ADOQuery1.Post; Except On MyError : Exception do ShowMessage('錯誤的信息是﹕' + MyError.Message); end; end;=================================
------
忻晟 |
daybreak
一般會員 ![]() ![]() 發表:14 回覆:15 積分:5 註冊:2003-11-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |