全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1149
推到 Plurk!
推到 Facebook!

請問如何初始化Tadoconnection物件

尚未結案
sunyard
一般會員


發表:9
回覆:10
積分:3
註冊:2004-08-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-24 16:53:53 IP:202.110.xxx.xxx 未訂閱
請問各位先進: 我在程序文件中,想初始化一個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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-24 23:44:52 IP:219.129.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-25 08:54:09 IP:202.110.xxx.xxx 未訂閱
感谢deity: 我有几个FORM,都要使用这个Adoconnection; 放在一个Form的formCreate事件中,其它Form 怎么引用? 另外,我最想知道的是,我所列出的代码有什么问题?
Wesly
中階會員


發表:14
回覆:103
積分:53
註冊:2002-05-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-25 10:41:41 IP:218.170.xxx.xxx 未訂閱
大約思考了你的問題,是否由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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-25 10:54:28 IP:218.15.xxx.xxx 未訂閱
引言: 感谢deity: 我有几个FORM,都要使用这个Adoconnection; 放在一个Form的formCreate事件中,其它Form 怎么引用?
sunyard您好:
  如果单单只是想让其他几个From都能调用该变量的话,您可以将adoc定义到主Form的public中,如下:
 private
    { Private declarations }
  public
    { Public declarations }
    adoc: Tadoconnection;
  end;
在其他Form中您可以这样调用:
  adoquery1.Connection:=form1.adoc; //在Form2中定义
另外,我最想知道的是,我所列出的代码有什么问题?
——行径窄处,留一步与人行—— ——Never give up, never surrender——
sunyard
一般會員


發表:9
回覆:10
積分:3
註冊:2004-08-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-26 08:22:33 IP:202.110.xxx.xxx 未訂閱
感谢wesly,deity: 问题解决了!
系統時間:2024-05-05 12:30:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!