我怎样另存为我的数据库文件(*.db文件)?(50分)

  • 主题发起人 主题发起人 wanxu
  • 开始时间 开始时间
W

wanxu

Unregistered / Unconfirmed
GUEST, unregistred user!
就这么简单的问题!
 
batchmove或自己creattable后insert
 
或用SQLSERVER自带的EXPORT
 
wjiachun:你好
不要说得这么简洁,看不懂!!!
我现在的情况是这样:对一个预先建立好的DB数据库进行操作,操作过后就对
这个数据库另外保存。但是我不知道怎样对这个数据库进行另存!
 
建立一个空表(有很多办法建立或复制新的空表文件)
open
insert
post
close

 
对于paradox数据库,直接复制文件如何?
如果找不到路径,可以使用
Insert Into Table1 Select * from Table2
的方法将表Table2的内容全部插入到Table1中,但是可能不支持Text或者Blob字段。
 
说白了就是怎样建立一个新的DB数据库结构!!!!并且保存。。
 
yzhshi: 怎样直接复制文件并且另命名????愿闻其详。。。。。
 
如果你对Paradox数据库使用BDE设置的时候DataBaseName不是使用别名,而是直接使用了路径。
那么就可以直接复制文件了。

如果你是使用BDE别名,也可以通过程序寻找这个别名指向的path,然后复制相应DB。
 
如果你用的是ADOQUERY的话,可以直接用ADOQUERY1.SAVETOFILE('文件名')将数据保存为
XML文件,至于另存为*.DB文件,不太好办,但你可以用BATCHMOVE控件来实现。如:
TABLE1.CLOSE;
TABLE1.TableName:='C:/MYTABLE.DB';
BATCHMOVE1.SOUCE:=QUERY1;
BATCHMOVE1.Destination:=TABLE;
BATCHMOVE1.Execute;
 
你的每一个表都对应paradox数据库的一个文件,得到文件名后,直接使用拷贝就可以了。
如下,就是一种方式。
uses ShellApi;

function CopyFile(SourceName, TargetName: string): Boolean;
var
F: TShFileOpStruct;
begin
F.wnd := Handle;
F.wFunc := FO_COPY; {操作方式}
F.pFrom := PChar(SourceName + #0#0);
F.pTo := PChar(TargetName + #0#0);
F.fFlags := FOF_ALLOWUNDO or FOF_RENAMEONCOLLISION;
result := ShFileOperation(F) = 0;
end;
 
接受答案了.
 
后退
顶部