我近阶段要编写对数据库的数据导出成文件,然后再把导出的文件导入到数据库中,下面是我写的有关的测试例子。导出文件很顺利,没有问题;但在导入的时候出现了问题,就是在导入完一个文件后,接着导入第二个文件、第三个文件时,出现一个异常。并且第一个导入的文件,在数据库中没有导入记录。我不知道这是什么问题?请高手帮忙!!
下面是我的例子代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from test';
ADOQuery1.Open;
ADOQuery1.SaveToFile('c:\1234.txt');
ADOQuery1.Close;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from test1';
ADOQuery1.Open;
ADOQuery1.SaveToFile('c:\12345.txt');
ADOQuery1.Close;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from test2';
ADOQuery1.Open;
ADOQuery1.SaveToFile('c:\123456.txt');
ADOQuery1.Close;
showmessage('导出数据成功!');
end;procedure TForm1.FormCreate(Sender: TObject);
begin
if not ADOConnection1.Connected then
ADOConnection1.Open;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='select * from test';
ADOQuery2.Open;
ADOQuery2.LoadFromFile('c:\1234.txt');
ADOQuery2.Close;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='select * from test1';
ADOQuery2.Open;
ADOQuery2.LoadFromFile('c:\12345.txt');
ADOQuery2.Close;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='select * from test2';
ADOQuery2.Open;
ADOQuery2.LoadFromFile('c:\123456.txt');
ADOQuery2.Close;
showmessage('导入数据成功!');
end;
以上代码中数据库为SQL Server数据库,test、test1、test2三个表结构完全相同,你们可以自己试一下。快点帮我解决一下吧!!
下面是我的例子代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from test';
ADOQuery1.Open;
ADOQuery1.SaveToFile('c:\1234.txt');
ADOQuery1.Close;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from test1';
ADOQuery1.Open;
ADOQuery1.SaveToFile('c:\12345.txt');
ADOQuery1.Close;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from test2';
ADOQuery1.Open;
ADOQuery1.SaveToFile('c:\123456.txt');
ADOQuery1.Close;
showmessage('导出数据成功!');
end;procedure TForm1.FormCreate(Sender: TObject);
begin
if not ADOConnection1.Connected then
ADOConnection1.Open;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='select * from test';
ADOQuery2.Open;
ADOQuery2.LoadFromFile('c:\1234.txt');
ADOQuery2.Close;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='select * from test1';
ADOQuery2.Open;
ADOQuery2.LoadFromFile('c:\12345.txt');
ADOQuery2.Close;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:='select * from test2';
ADOQuery2.Open;
ADOQuery2.LoadFromFile('c:\123456.txt');
ADOQuery2.Close;
showmessage('导入数据成功!');
end;
以上代码中数据库为SQL Server数据库,test、test1、test2三个表结构完全相同,你们可以自己试一下。快点帮我解决一下吧!!
解决方案 »
- 在线求救贴,DELPHI ThreadPool 里操作数据库提示 Abstract Error 但是 也执行成功了 请教 如何解决?
- delphi 中如何声明 api 函数
- 欢迎D区来了个强人--牧野同志.特此散分迎接...
- 哪儿有ExpressQuantumGrid4.5、ExpressQuantumTreeList 4.0.1控件下载
- listview如何实现换行?在线等待...
- 我的打印控件传上去好几天了!怎么还没给发布呀?
- 高手请进:C/S架构,为什么在客户端应用程序不能执行
- 奇怪的问题?当我试作用缓存更新主表和从表,表能缓存修改,不能更新,但是我把query1.cachedupdate设为 false时就能保存,但我想采用事
- 网上支付 : 用Dephi把参数值 给 send.php 文件
- 关于数据库打包问题
- 数据加密
- 急!有那位老师,在中DELPHI中如何动态获得计算机名称。。。。
当你
ADOQuery2.LoadFromFile('c:\1234.txt');
的时候, 你的ADOQuery2.CommandType 已经是cmdFile;
当你再
ADOQuery2.SQL.Text:='select * from test1';
当然出错