怎么在数据库中备份一张表,并且还原它,用程序实现 谢谢
解决方案 »
- Creport 纸张大小
- 关于TIdHttp在线程中遇到的难题
- 一个关于BitBtn控件的问题?
- 用DELPHI 的什么方法可以实现跨数据库(SQL 2000)的事务处理?
- 简单的问题
- ★★★CSDN结贴联盟第8次信誉提问!!★★★
- 配置DCOM服务器问题,为什么启动权限一定要加上Everyone,客户端才能访问?(急)
- 如何使窗体在所有窗体的最上边显示?
- 动态生成的报表代码,
- 哪有下载Delphi汉化包??特别是help文当!!!!!
- 菜鸟,请教各位高手,帮忙看看这段程序,不够再加~~~~~~~感激!!
- 请问字符宽度与窗体宽度之间的换算关系?即Length('myString')与From1.Width两种不同计量之间的换算??
Insert into 备份表名
Select * from 新表名
var
MyFileName: string;
begin
MyFileName := '';
try
if SaveDialog1.Execute then
begin
MyFileName := SaveDialog1.FileName;
if MyFileName <> '' then
begin
if CopyFile(Pchar(ExtractFilePath(Application.ExeName) + 'HYTJ.mdb'), Pchar(MyFileName), false) then
begin
Application.MessageBox('数据备份成功','提示',Mb_ok + mb_iconinformation);
end;
end;
end;
except
Application.MessageBox('数据备份失败','提示',Mb_ok + mb_iconError);
end;
var
MyFileName, aa: string;
begin
MyFileName := '';
try
if OpenDialog1.Execute then
begin
MyFileName := OpenDialog1.FileName;
if MyFileName <> '' then
begin
aa := ExtractFilePath(Application.ExeName) + 'HYTJ.mdb';
if CopyFile(Pchar(MyFileName),Pchar(aa), false) then
begin
DM.ADOConnect.Close;
DM.ADOConnect.Open;
Application.MessageBox('数据恢复成功','提示',Mb_ok + mb_iconinformation);
end;
end;
end;
except
Application.MessageBox('数据恢复失败','提示',Mb_ok + mb_iconError);
end;
2)copy数据(导出以其他格式存储,这样速度不是很快)
以前做过2种方式的,最终认为还是第1种合适
3).....以下的接上
AtableRecord=record
fields1:DataType;
.....
end;function DataOutput():Boolean;
var
Objtable:AtableRecord;//定义 对象:
begin
// 从表中查出数据
with
select * from table
定义表的记录型结构
AtableRecord=record
fields1:DataType;
.....
end;function DataOutput():Boolean;
var
D:AtableRecord;//定义 对象:
F: File of AtableRecord;
Filename:String;
begin
// 从表中查出数据
with query do
begin
close;
sql.clear;
sql.add('select * from table');
open;
AssignFile(F,FileName);
Rewrite(F);
if not isempty then
begin
while not eof do
begin
with D do
begin
fields1:=fieldbyname('fields1').asstring;
.........
Write(F,D);
next;
end;
end;
end;
CloseFile(F);
end;
这是备份一个表的
可以再写个恢复的函数,就是从保存的文件中读取数据,再写入到表中,当然要先清空该表
具体,自己想想,我只是提供一种想法