| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2380 人关注过本帖
标题:在Delphi写SQL语句,从一个表向另一个表复制数据,出错。怎么办?
只看楼主 加入收藏
BCLT_xj9605
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-4-19
收藏
 问题点数:0 回复次数:2 
在Delphi写SQL语句,从一个表向另一个表复制数据,出错。怎么办?
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls;

type
  TForm1 = class(TForm)
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    ADOTable3: TADOTable;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
connectstr:string;
begin
  connectstr:=GetCurrentDir+'\SCCS.MDB;';
  ADOTable1.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+connectstr+'Persist Security Info=False';
  ADOTable2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+connectstr+'Persist Security Info=False';

  //connectstr:=GetCurrentDir+'\DCB.MDB;';
  connectstr:=GetCurrentDir+'\DCB1.MDB;';
  ADOTable3.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+connectstr+'Persist Security Info=False';
  ADOQuery1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+connectstr+'Persist Security Info=False';

  ADOTable1.TableName:='sk';
  ADOTable2.TableName:='cy';
  ADOTable3.TableName:='DC';
  ADOTable1.Active:=true;
  ADOTable2.Active:=true;
  ADOTable3.Active:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var
querystr:string;
begin
  {将sk数据导入到DC表中}
  ADOTable1.Active:=false;
  ADOTable2.Active:=false;
  ADOTable3.Active:=false;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  querystr:='Delete from DC';
  ADOQuery1.SQL.Add(querystr);
  ADOQuery1.ExecSQL;

  //ADOTable1.Active:=true;
  //ADOTable2.Active:=false;
  //ADOTable3.Active:=false;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  //querystr:='insert into dc (测点顺序号,射孔井段顶深,射孔井段底深,层位,生产层位)';
  //querystr:='insert into dc(CDSXH,SKJD1,SKJD2,CW,SCCW)';
  //querystr:=querystr+'select * from sk';
  querystr:='insert into dc(CDSXH,SKJD1,SKJD2,CW,SCCW) select * from sk';
  ADOQuery1.SQL.Add(querystr);
  ADOQuery1.ExecSQL;

  showmessage('导入完毕。');
end;

end.
搜索更多相关主题的帖子: SQL Security Active false Provider 
2020-09-28 14:31
supermay
Rank: 1
等 级:新手上路
威 望:1
帖 子:34
专家分:0
注 册:2004-10-3
收藏
得分:0 
你这个是跨库导入数据呀,你看看access中如何跨库导入吧,这个不是D的问题。

2021-10-20 09:33
Tnipp
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:0
注 册:2021-10-29
收藏
得分:0 
你是ADOQuery3连的dc库,但是insert语句用的ADOQuery1
2021-10-29 09:52
快速回复:在Delphi写SQL语句,从一个表向另一个表复制数据,出错。怎么办?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016874 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved