unit UdmU;interfaceuses
  SysUtils, Classes, DB, ADODB;type
  TAdodm = class(TDataModule)
    ConnYuan: TADOConnection;
    DSYuan: TDataSource;
    QueryYuan: TADOQuery;
    ConnBeng: TADOConnection;
    TableBeng: TADOTable;
    DSBeng: TDataSource;
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Adodm: TAdodm;implementation{$R *.dfm}end.
unit DeliverFU;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls;type
  TDeliverForm = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    DBGrid2: TDBGrid;
    Label1: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  DeliverForm: TDeliverForm;implementationuses UdmU;
{$R *.dfm}procedure TDeliverForm.Button1Click(Sender: TObject);
begin
 Application.Terminate;
end;procedure TDeliverForm.Button2Click(Sender: TObject);
begin
  try
   Udmu.Adodm.QueryYuan.Active:=False;
   Udmu.Adodm.QueryYuan.SQL.Clear;
   Udmu.Adodm.QueryYuan.SQL.Add ('select top '+Edit1.Text+' * from company');
   Udmu.Adodm.QueryYuan.ExecSQL;
   Udmu.Adodm.QueryYuan.Active:=true;
  except
   showMessage('请输入数字');
  end;  
end;
请问我如何要把QueryYuan的数据结果存到TableBeng中去

解决方案 »

  1.   

    Udmu.Adodm.QueryYuan.SQL.Clear;
       Udmu.Adodm.QueryYuan.SQL.Add ('insert into TableBeng select top '+Edit1.Text+' * from company');
       Udmu.Adodm.QueryYuan.ExecSQL;
      

  2.   

    unit UdmU;interfaceuses
      SysUtils, Classes, DB, ADODB;type
      TAdodm = class(TDataModule)
        ConnYuan: TADOConnection;
        DSYuan: TDataSource;
        QueryYuan: TADOQuery;
        ConnBeng: TADOConnection;
        TableBeng: TADOTable;
        DSBeng: TDataSource;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Adodm: TAdodm;implementation{$R *.dfm}end.
    unit DeliverFU;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls;type
      TDeliverForm = class(TForm)
        Panel1: TPanel;
        DBGrid1: TDBGrid;
        Panel2: TPanel;
        Button1: TButton;
        Button2: TButton;
        Edit1: TEdit;
        DBGrid2: TDBGrid;
        Label1: TLabel;
        Button3: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
          private
        { Private declarations }
      public
        { Public declarations }
      end;var
      DeliverForm: TDeliverForm;implementationuses UdmU;
    {$R *.dfm}procedure TDeliverForm.Button1Click(Sender: TObject);
    begin
     Application.Terminate;
    end;procedure TDeliverForm.Button2Click(Sender: TObject);
    begin
      try
       Udmu.Adodm.QueryYuan.Active:=False;
       Udmu.Adodm.QueryYuan.SQL.Clear;
       Udmu.Adodm.QueryYuan.SQL.Add ('select top '+Edit1.Text+' * from company');
       Udmu.Adodm.QueryYuan.ExecSQL;
       Udmu.Adodm.QueryYuan.Active:=true;
      except
       showMessage('请输入数字');
      end;
      end;
    procedure TDeliverForm.Button3Click(Sender: TObject);
    begin
       Udmu.Adodm.QueryYuan.SQL.Clear;
       Udmu.Adodm.QueryYuan.SQL.Add ('insert into UdmU.Adodm.TableBeng {TableBeng}select top '+Edit1.Text+' * from company');
       Udmu.Adodm.QueryYuan.ExecSQL;
    end;end.
    都提示出现异常,说TableBeng对像无效
      

  3.   

    TableBeng  这个不是表的名称,是不行的!
    TableBeng.Assign(QueryYuan)
      

  4.   

    这样也不行提示一样都提示出现异常,说TableBeng.Assign式对像无效
    顺便提一下是二台机器的相同数据表中的数据传输不是单台机的数据库传输
      

  5.   

    数据查找出来已经到本地的表里显示里了,没道理传不过来啊。
    各位朋友,能不能先添加Access库里啊。可以的话应怎么添加到本地的Access数据库。
    高手请帮一下ok!
      

  6.   

    Udmu.Adodm.QueryYuan.SQL.Add ('select top '+'''Edit1.Text'''+' * from company');
                                 ↑或直接写Field名
    Udmu.Adodm.QueryYuan.ExecSQL; //削除此行try
      Udmu.Adodm.QueryYuan.Active:=False;
      Udmu.Adodm.QueryYuan.SQL.Clear;
      Udmu.Adodm.QueryYuan.SQL.Add ('select top '+'''Edit1.Text'''+' * from company');
      Udmu.Adodm.QueryYuan.Active:=true;
    except
    {...}
      

  7.   

    Udmu.Adodm.QueryYuan.SQL.Clear;
       Udmu.Adodm.QueryYuan.SQL.Add ('insert into ' + TableBeng.TableName + ' select top '+Edit1.Text+' * from company');
       Udmu.Adodm.QueryYuan.ExecSQL;这样就可以了,然后刷新一下数据会出来
      

  8.   

    恩!应该是那么做 如果数据不显示出来就把ADOQuery关闭后 重新查询一次最好用两个ADOQuery来做查询和添加的操作
      

  9.   

    Udmu.Adodm.QueryYuan.SQL.Clear;
       Udmu.Adodm.QueryYuan.SQL.Add ('insert into ' + TableBeng.TableName + ' select top '+Edit1.Text+' * from company');
       Udmu.Adodm.QueryYuan.ExecSQL;这样就可以了,然后刷新一下数据会出来
    我试了一下这样的结果就是在源机器查讯了数据,结果也是添加到源数据库报错' + TableBeng.TableName + '的值也是Company 报以有键值的错.
    本人的意思是将源数据库QuerryYuan查到的数据,保存到 TableBeng连接到的数据表中,二个数据库和表都是相同名字和结构的!
    望各位大哥,高手再顶一下,先谢过了!
      

  10.   

    用insert into 不能用啊!
    请问各位高手如何把查讯到的数据保存到一个二维数组中,而后再加到目的数据库.