我用ADOQUERY将数据保存到文本文件,怎样将它导入到另一个库(200分)

  • 主题发起人 主题发起人 exceed
  • 开始时间 开始时间
E

exceed

Unregistered / Unconfirmed
GUEST, unregistred user!
with ADOQuery1 do begin
..................
OPen;
SaveToFile('c:/mghb.txt',pfXML);
end;

 
为什么不将查询结果直接导入到另一个库?
 
进去了还要出来? 最苯的方法是把mghb.txt的内容读出来,再写到数据表中。
或者把ADOQUERY数据保存到一文件型数据库中,然后再从该数据库中把数据读出来写到
指定的数据表中,这样可能更简单些
 
谢谢上面两位的建议,但是两个库不在同一网段上.
 
可以通过其他的工具到。比如SQLSERVER和ACCESS都有这样的工具
 
procedure DoAdoSql(CurADODS: TADODataSet; SSql: string);
var
oldcur: tcursor;
begin
oldcur := Screen.Cursor;
screen.cursor := crHourGlass;
try
if CurADODS.Active = true then CurADODS.Close;
CurADODS.CommandText := SSql;
CurADODS.Open;
finally
screen.Cursor := oldcur;
end;
end;

导出:

begin
SaveDialog2.DefaultExt := 'xml';
SaveDialog2.Filter := '通用文档数据库|*.xml';
end
if SaveDialog2.Execute then
begin
exportfilename := SaveDialog2.FileName;
end;
if exportfilename <> '' then
begin
ssql := 'select room into rooms in ' + '''' + exportfilename + '''' + ' from rooms';
dm1.ADOCommand1.CommandText := ssql;
dm1.ADOCommand1.Execute;

导入:
ssql := 'select room from rooms';
if OpenDialog1.Execute then
begin
exportfilename := OpenDialog1.FileName;
end;
doadosql(dm1.ADOexport, ssql);
dm1.ADOexport.LoadFromFile(exportfilename);
dm1.ADOexport.UpdateBatch(arAll);
MessageDlg('数据导入成功!', mtInformation,
[mbOk], 0);
 
接受答案了.
 
后退
顶部