怎样把在Form.FormShow事件中动态创建TAdoDataSet,连接数据库,open,并把所查询到的数据(string类型),写入一个数组,怎样实现?谢谢

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Db, ADODB;type
      TForm1 = class(TForm)
        ADODataSet1: TADODataSet;
        ADOConnection1: TADOConnection;
        procedure FormShow(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormShow(Sender: TObject);
    begin
      ADODataSet1.CommandText := 'slelct ....';
      adoDataSet1.Connection  := adoconnection1;
      adoconnection1.open;
      adodataset1.open;
      while not adodataset1.Eof do
      begin
        数组[下标]:=adodataset.fieldByName('字段名').asString;
        下标:= 下标+1;
        adodataset1.next;
      end;
    end;end.
      

  2.   

    uses
      adodb,db;
    var
      adodataset:Tadodataset;
    begin
      adodataset:=Tadodataset.create(self);
      ADODataSet.CommandText := 'slelct ....';
      adoDataSet.Connectionstring  := '';
      adodataset.open;
      while not adodataset.Eof do
      begin
        数组[下标]:=adodataset.fieldByName('字段名').asString;
        下标:= 下标+1;
        adodataset1.next;
      end;
    end;
      

  3.   

    问问楼上的朋友,这种方法我也会。我想问一下
    很急,我要在弹出程序之前弹出一个小对话框来动态选择数据库连接,怎么来做
    我用的delphi6,请帮忙,我的qq是23703867
    油箱是:[email protected]
    谢谢!
      

  4.   

    应该这样写:
    uses
    ……
    type
      TForm1 = class(TForm)
        procedure FormShow(Sender: TObject);
      private
        { Private declarations }
        ADODataSet1: TADODataSet;
        ADOConnection1: TADOConnection;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormShow(Sender: TObject);
    begin
      ADODataSet1:=TADODataSet.create(nil);
      ADODataSet1.CommandText := 'slelct ....';
      adoDataSet1.Connection  := adoconnection1;
      adoconnection1.open;
      adodataset1.open;
      while not adodataset1.Eof do
      begin
        数组[下标]:=adodataset.fieldByName('字段名').asString;
        下标:= 下标+1;
        adodataset1.next;
      end;
    end;end.
      

  5.   

    谢谢楼上3位前辈的热心帮助!! kevin218 的想法不错,我的email:[email protected]
     
     贴出来更好,谢谢各位高手啦!