在adodataset中如何动态的创建字段并批量增加记录。要求adodataset不和真实的数据库相连。然后在将此记录集转给adoquery或adotable?请解答?

解决方案 »

  1.   

    alter table 表的名称 add 字段名称 数据类型; //创建字段;
    用SQL语句;//批量更新;
    用clientdataset组件,可以
      

  2.   

    我要求是在adodataset中所写记录不入库。只是暂存在adodataset中,然后让adodataset读取。请问一下具体是如何做?所以要动态创建字段和动态写入记录,最后生成临时打印报表。
      

  3.   

    我要求是在adodataset中所写记录不入库。只是暂存在adodataset中,然后让adoquery读取。请问一下具体是如何做?所以要动态创建字段和动态写入记录,最后生成临时打印报表。
      

  4.   

    设置TClientDataSet.FiledDefs或者TClientDataSet.Files,然后象处理TTable一样处理,不过不能再使用ADOQuery对它进行查询,只能过滤。可以在磁盘上保存和装入
      

  5.   

    .FiledDefs.add()
    .Edit
    .CreateDataSet
      

  6.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DB, DBClient, Grids, DBGrids;type
      TForm1 = class(TForm)
        ClientDataSet1: TClientDataSet;
        Button1: TButton;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      with ClientDataSet1 do
      begin
        FieldDefs.Add('Code', ftString, 4);
        FieldDefs.Add('Name', ftString, 8);
        FieldDefs.Add('Data', ftFloat);
        CreateDataSet;
        AppendRecord(['0001', 'abc', 100.23]);
      end;
    end;end.
      

  7.   

    有个办法,就是用事务锁住表,然后设置为静态光标;可以实现缓存更新,但是,这个方法的出错率很大;基本上我不敢用!我的帖子也是问的这个,希望有高手做比较好的解答!麻烦各位也来看看我的问题 :
    http://expert.csdn.net/Expert/TopicView1.asp?id=2414069