急急急!!!(50分)

  • 主题发起人 主题发起人 kingqc
  • 开始时间 开始时间
K

kingqc

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将sql查询的结果保存为另一个以.db为后缀的数据库文件?
 
查询时不是用Select 语句吗,查询前先定义好Query的DataBase属性,然后用
select时加一个into 目标表,或者用.db的全路径,select * from source table
{where...} into destination table 目标表会自动创建。
或者用BatchMove控件,把结果查询出来以后,自己创建目标表,然后用BatchMove
把查询结果的Query作为Souce,目标表作为Destinationtable,BatchMove.Exexute
就行
 
procedure SaveQueryResultToTable(AQuery: TQuery; AFileName: TFileName);
var
h : HDBICur;
ph : PHDBICur;
begin
AQuery.Prepare;
Check(dbiQExec(AQuery.StmtHandle, ph));
h := ph^;
Check(DbiMakePermanent(h, PChar(AFileName), True));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.DatabaseName := 'DBDEMOS';
Query1.SQL.Clear;
Query1.SQL.Add('Select Distinct Category from Biolife.db');
SaveQueryResultToTable(Query1, ExtractFilePath(Application.ExeName)+'RES.DB');
end;

 
最简单的就是用 BatchMove 来做,把要存入的文件名设好,并把 Batchmove 的
Mode 设为 batCopy , 则 batchmove Excute 之后,就会得到一个 新表了
 
多人接受答案了。
 
后退
顶部