数据备份 CREATE PROCEDURE sjbf @backpath char(50) AS BACKUP DATABASE 数据库名 TO disk= @backpath with init,stats GO 数据恢复 CREATE PROCEDURE sjhf @backpath char(50) AS restore database 数据库名 from disk=@backpath GO
//先连接数据库, ado:='Provider=SQLOLEDB.1;Password='''+Password+''' ;Persist Security Info=True;User ID= '''+UserName+''' ;Data Source= '''+ServerName+''';Initial Catalog=MyData'; AdoConnection1.ConnectionString:=ado; //备份的SQL 语句为:(trim(EdtFilename.Text)为备份的路径) sql.add('USE master EXEC sp_dboption goldenstone ,'+'''dbo use only'''+' , '+'''TRUE'''); sql.Add('use master backup database MyData to disk='''+trim(EdtFilename.Text)+''' with init'); //数据库还原的SQL语句为:(trim(EdtFilename.Text)为还原的文件路径) sql.Add('use master restore database MyData from disk='''+trim(edtFilename.text)+''' with replace');
BACKUP DATABASE GManage TO SManageRESTORE FILELISTONLY FROM DISK = 'c:\tgc.bak'
自己顶
procedure TDataBack.BackDataClick(Sender: TObject);
begin
self.Caption := '正在备份数据....';
a1.Active := true;
adodm.cback.CommandText := 'backup database xq to disk=''' + Edit_path.Text + ''''; //备份数据库命令语句
try
adodm.cback.Execute;
// 执行备份
showmessage(' 备份成功!');
a1.Active := false;
except
showmessage(' 备份失败!');
a1.Active := false;
end;
self.Caption := '数据备份和恢复';
end;procedure TDataBack.RecoverDataClick(Sender: TObject);
var DataPath: string;
begin
self.Caption := '正在恢复数据....';
adodm.XQconn.Close;
adodm.XQconn.Connected := false;
OpenDialog1.Filter := '备份文件 (*.back)|*.back|所有文件 (*.*)|*.*'; //设置备份文件后缀
OpenDialog1.InitialDir := ExtractFileDir(Application.ExeName) + '\backupdata';
//设置备份路径
if OpenDialog1.Execute then
DataPath := OpenDialog1.FileName;
if DataPath <> '' then
begin
if application.MessageBox('此操作将使上次备份以来的所有数据丢失,是否继续?', '恢复数据', MB_OKCANCEL) = idOK then
begin
a1.Active := true;
adodm.cback.CommandText := 'restore database XQ from disk=''' + DataPath + '''' + ' with replace'; //恢复数据命令语句
try
try
adodm.cback.Execute;
//执行恢复过程
showmessage(' 恢复成功!');
except
showmessage('数据库正在被使用!请确定已关闭其它使用该数据库程序!');
showmessage(' 恢复失败!');
end;
finally
a1.Active := false;
try
// 打开各个数据表是否有错误
adodm.YHTS.Open;
adodm.part.Open;
adodm.client.Open;
adodm.Toper.Open;
adodm.Tuser.Open;
adodm.ZHBX.Open;
adodm.Model.Open;
adodm.ClientFamily.Open;
adodm.ChargeItem.Open;
adodm.ClientRoom.Open;
adodm.Charge.Open;
adodm.ClientPay.Open;
adodm.ClientAdvance.Open;
except
showmessage('程序运行发生不可预知错误,请重新启动程序!');
//结束该程序
Application.Terminate;
end;
end;
end;
end;
self.Caption := '数据备份和恢复';
end;
CREATE PROCEDURE sjbf @backpath char(50) AS
BACKUP DATABASE 数据库名 TO disk= @backpath with init,stats
GO
数据恢复
CREATE PROCEDURE sjhf @backpath char(50) AS
restore database 数据库名 from disk=@backpath
GO
ado:='Provider=SQLOLEDB.1;Password='''+Password+''' ;Persist Security Info=True;User ID= '''+UserName+''' ;Data Source= '''+ServerName+''';Initial Catalog=MyData';
AdoConnection1.ConnectionString:=ado;
//备份的SQL 语句为:(trim(EdtFilename.Text)为备份的路径)
sql.add('USE master EXEC sp_dboption goldenstone ,'+'''dbo use only'''+' , '+'''TRUE''');
sql.Add('use master backup database MyData to disk='''+trim(EdtFilename.Text)+''' with init');
//数据库还原的SQL语句为:(trim(EdtFilename.Text)为还原的文件路径)
sql.Add('use master restore database MyData from disk='''+trim(edtFilename.text)+''' with replace');
adodmd是什么组件啊