ADOQuery.post一問 |
尚未結案
|
sucm
一般會員 發表:24 回覆:29 積分:10 註冊:2005-01-17 發送簡訊給我 |
procedure TForm7.Button9Click(Sender: TObject);
begin
ADOQuery1.Open;
ADOQuery1.Insert;
ADOQuery2.Open;
ADOQuery2.Insert;
end; procedure TForm7.Button13Click(Sender: TObject);
begin ADOQuery1.Post;
ADOQuery2.Post;
end; procedure TForm7.ADOQuery2BeforePost(DataSet: TDataSet);
begin
with ADOQuery4 do //自動編號
begin
Close;
SQL.Text:='select isnull(convert(int,max(serviced_respondnum)),0) 1 from custservice_detail a,service b '
'where a.service_custservicenum=b.service_custservicenum';
Open;
DataSet.FieldByName('serviced_respondnum').AsString:= FormatFloat('0000',Fields[0].AsInteger);
end;
end; procedure TForm7.ADOQuery1BeforePost(DataSet: TDataSet);
begin
//自動編號 with ADOQuery5 do
begin
Close;
SQL.Text := 'SELECT ISNULL(CONVERT( INT,SUBSTRING(MAX(service_custservicenum),2,4 )),0) 1 '
'FROM service' ;
Open;
DataSet.FieldByName('service_custservicenum').AsString := 'A' FormatFloat('0000',Fields[0].AsInteger);
end;
end; 為啥當我跑到ADOQuery2.post時就會出現...
"ADOQuery2不是在insert或edit的狀態"..... 我是新手...請原諒我的笨問題
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 修改以下紅色處試試﹕
procedure TForm7.Button9Click(Sender: TObject); begin ADOQuery1.Open; ADOQuery1.Insert; ADOQuery2.Open; ADOQuery2.Insert; end; procedure TForm7.Button13Click(Sender: TObject); begin ADOQuery1.Post; ADOQuery2.Post; end; procedure TForm7.ADOQuery2BeforePost(DataSet: TDataSet); begin with ADOQuery4 do //自動編號 begin Close; SQL.Text:='select isnull(convert(int,max(serviced_respondnum)),0)+1 from custservice_detail a,service b '+ 'where a.service_custservicenum=b.service_custservicenum'; Open; ADOQuery2.FieldByName('serviced_respondnum').AsString:= FormatFloat('0000',Fields[0].AsInteger); end; end; procedure TForm7.ADOQuery1BeforePost(DataSet: TDataSet); begin //自動編號 with ADOQuery5 do begin Close; SQL.Text := 'SELECT ISNULL(CONVERT( INT,SUBSTRING(MAX(service_custservicenum),2,4 )),0)+1 ' + 'FROM service' ; Open; ADOQuery1.FieldByName('service_custservicenum').AsString := 'A'+ FormatFloat('0000',Fields[0].AsInteger); end; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
sucm
一般會員 發表:24 回覆:29 積分:10 註冊:2005-01-17 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 請問您的操作步驟是否正确﹐從程式碼部分來看﹐您需要先按Button9按鈕﹐使ADOQuery1和ADOQuery2進入Insert狀態﹐然后再按Button13按鈕﹐下Post的命令﹐在ADOQuery1和ADOQuery2在Post之前﹐就會触發其BeforePost中的內容﹒ 另外請确認您在ADOQuery4和ADOQuery5的SQL查詢語法中是否有正确的值回傳﹖ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
Wesly
中階會員 發表:14 回覆:103 積分:53 註冊:2002-05-31 發送簡訊給我 |
|
sucm
一般會員 發表:24 回覆:29 積分:10 註冊:2005-01-17 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗
procedure TForm7.Button9Click(Sender: TObject); begin ADOQuery1.Open; ADOQuery1.Insert; ADOQuery2.Open; ADOQuery2.Insert; end; procedure TForm7.Button13Click(Sender: TObject); begin ADOQuery2.Post; end; procedure TForm7.ADOQuery2BeforePost(DataSet: TDataSet); begin with ADOQuery4 do //自動編號 begin Close; SQL.Text:='select isnull(convert(int,max(serviced_respondnum)),0)+1 from custservice_detail a,service b '+ 'where a.service_custservicenum=b.service_custservicenum'; Open; ADOQuery2.FieldByName('serviced_respondnum').AsString:= FormatFloat('0000',Fields[0].AsInteger); end; end; procedure TForm7.ADOQuery2AfterPost(DataSet: TDataSet); begin ADOQuery1.Post; end; procedure TForm7.ADOQuery1BeforePost(DataSet: TDataSet); begin with ADOQuery5 do begin Close; SQL.Text := 'SELECT ISNULL(CONVERT( INT,SUBSTRING(MAX(service_custservicenum),2,4 )),0)+1 ' + 'FROM service' ; Open; ADOQuery1.FieldByName('service_custservicenum').AsString := 'A'+ FormatFloat('0000',Fields[0].AsInteger); end; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |