RecordSet 的問題 |
尚未結案
|
SuperLowB
初階會員 ![]() ![]() 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
請問我想當我按button1的時侯,能夠自動傳回一個recordset給我,
我試過以下的寫法,但不能做到,次次都話我"Access violation..... "
應怎樣做?
procedure TForm1.Button1Click(Sender: TObject); var qry:TADODataSet; begin with DataModule1 do begin try try qry:=TADODataSet.Create(nil); qry:=GetRecSet('Select * from Table1',Conn1); qry.Open; if not qry.Eof then begin Showmessag(lqry.FieldByName('ProviderName').AsString); end; except raise; end; finally qry.close; qry.free; end; end; end; function TDataModule.GetRecSet(SQL:String;DBCon:TADOConnection):TADODataSet; var Qry:TADODataSet; begin try try Qry:=TADODataSet.Create(nil); Qry.Connection:=DBCon; Qry.CommandText:=SQL; Qry.Open; Qry.Clone(result); except raise; end; finally Qry.Close; Qry.Free; Qry:=nil; end; end; |
william
版主 ![]() ![]() ![]() ![]() ![]() 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject); var qry:TADODataSet; begin with DataModule1 do begin try try |
SuperLowB
初階會員 ![]() ![]() 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
引言:William 兄,都不能......都是出果句'Access violation....' 在25行,你刪除了var Qry:TADODataSet,咁就會有問題 我想這個問題應該是memory allocation的問題 應怎樣解決?1 procedure TForm1.Button1Click(Sender: TObject); 2 var qry:TADODataSet; 3 begin 4 with DataModule1 do 5 begin 6 try 7 try 8 |
william
版主 ![]() ![]() ![]() ![]() ![]() 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
SuperLowB
初階會員 ![]() ![]() 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
william
版主 ![]() ![]() ![]() ![]() ![]() 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
With all those extra strokes removed:
procedure TForm1.Button1Click(Sender: TObject); var qry:TADODataSet; begin with DataModule1 do begin try try qry:=GetRecSet('Select * from Table1',Conn1); if not qry.Eof then begin Showmessage(qry.FieldByName('ProviderName').AsString); end; except raise; end; finally FreeAndNil(qry); end; end; end; function TDataModule1.GetRecSet(SQL: String; DBCon: TADOConnection): TADODataSet; var Qry:TADODataSet; begin Result := nil; try Qry:=TADODataSet.Create(nil); Qry.Connection:=DBCon; Qry.CommandText:=SQL; Qry.Open; Result := Qry; except FreeAndNil(Qry); raise; end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |