請問如何初始化Tadoconnection物件 |
尚未結案
|
sunyard
一般會員 ![]() ![]() 發表:9 回覆:10 積分:3 註冊:2004-08-12 發送簡訊給我 |
請問各位先進:
我在程序文件中,想初始化一個Tadoconnection的一個對象,可以嗎? program zsb; uses
Forms,
adodb,
khjl in 'khjl.pas' {FrmMain},
bm in 'bm.pas' {FrmBminfo},
jl in 'jl.pas' {FrmJlinfo}; {$R *.res}
var
adoc: Tadoconnection;
begin Application.Initialize;
adoc:= Tadoconnection.Create(adoc);
adoc.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\deve\database2\db2.mdb;Persist Security Info=False';
Application.CreateForm(TFrmMain, FrmMain);
Application.CreateForm(TFrmBminfo, FrmBminfo);
Application.CreateForm(TFrmJlinfo, FrmJlinfo);
Application.Run;
end.
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
sunyard您好:
您是不是想在程式中初始化一个Tadoconnection而不想在属性栏中定义;如果没有误会您的意思,您可以在FormCreate事件定义
定义全局变量:
var Form1: TForm1; adoc: Tadoconnection; procedure TForm1.FormCreate(Sender: TObject); begin adoc:= Tadoconnection.Create(adoc); adoc.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\deve\database2\db2.mdb;Persist Security Info=False' end; 调用: adoquery1.Connection:=adoc; with adoquery1 do begin close; sql.Clear; sql.Add('select * from table1'); open; end;参考看看 |
sunyard
一般會員 ![]() ![]() 發表:9 回覆:10 積分:3 註冊:2004-08-12 發送簡訊給我 |
|
Wesly
中階會員 ![]() ![]() ![]() 發表:14 回覆:103 積分:53 註冊:2002-05-31 發送簡訊給我 |
大約思考了你的問題,是否由BDE轉為ADO時產生初始設定的問題?
因為程式基本上分為1.設計時期2.執行時期
ADO在設計時期時沒有問題, 但在執行時期時若資料來源有異動時, 會產生困擾, 因為ADO沒有類似BDE Administrator將資料來源轉換, 所以造成困擾, 這也就是你為何要初始化一個Tadoconnection的原因??
若是如此, 依我個人的經驗, 我會放在Tadoconnection的BeforeConnect改變其參數設定, 自行設定一個參數檔, 在ADOConnection執行前載入
Delphi 5 用你的方法置入
Delphi 6 可以用參數傳遞的方法置入 至於其它的Form 要用, 只要其它的Form Use 到這個有TADOConnection的Form就好, 再將Connection指向到這個TADOConnection 你將TADOConnection動態產生當然在執行時期各Form在使用上有困擾, 是為共用, 為什麼在設計時不產生一個DataModul, 將TADOConnection放在上面, 其它的Form去Use 它就好了 希望能對你有所幫助.
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: 感谢deity: 我有几个FORM,都要使用这个Adoconnection; 放在一个Form的formCreate事件中,其它Form 怎么引用?——行径窄处,留一步与人行—— ——Never give up, never surrender——sunyard您好: 如果单单只是想让其他几个From都能调用该变量的话,您可以将adoc定义到主Form的public中,如下: private { Private declarations } public { Public declarations } adoc: Tadoconnection; end; 在其他Form中您可以这样调用: adoquery1.Connection:=form1.adoc; //在Form2中定义另外,我最想知道的是,我所列出的代码有什么问题? |
sunyard
一般會員 ![]() ![]() 發表:9 回覆:10 積分:3 註冊:2004-08-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |