我写的下面代码:总是出现错误,不能实现数据备份!!
Q:=TADOQuery.create(nil);
Q.connection=con;
Q.close;
Q.sql.clear;
Q.sql.add('backup database mydb to disk='+''''+'C:\data\mydb.Bak'+'''');
Q.execsql;
总是提示错误:“无法打开备份设备,设备出现错误或设备脱机!”,请问这是什么原因,应该怎么改?谢谢了!!!
Q:=TADOQuery.create(nil);
Q.connection=con;
Q.close;
Q.sql.clear;
Q.sql.add('backup database mydb to disk='+''''+'C:\data\mydb.Bak'+'''');
Q.execsql;
总是提示错误:“无法打开备份设备,设备出现错误或设备脱机!”,请问这是什么原因,应该怎么改?谢谢了!!!
begin
if Edit1.Text= '' then
begin
Showmessage('无选择要保存的文件名');
exit;
end;
try
try
dmData.adoQryTmp.Active:= false;
dmData.adoQryTmp.SQL.Clear;
dmData.adoQryTmp.SQL.Add(' BACKUP DATABASE [dzyl] TO DISK = '''+edit1.text+''' WITH INIT');
dmData.adoQryTmp.ExecSQL;
finally
begin
dmData.adoQryTmp.Active:= false;
Showmessage('数据库备份成功!');
end;
end;
except
on e:exception do
begin
ShowMessage('数据库备份失败!');
end;
end;
end;
str:string;
begin
If Not OpenDialog1.Execute Then
Exit;
Screen.Cursor := crHourGlass;
try
try
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add(' use master');
ADOQuery1.sql.add('ALTER DATABASE kxcrm SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADOQuery1.execsql;
edit1.text:=ADOQuery1.SQL[0];
str := 'Restore DataBase kxcrm from disk = '''+OpenDialog1.filename+'''';
edit2.text:=str;
ADOQuery1.Close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add(str);
ADOQuery1.execsql;
ShowMessage('³É¹¦');
except
ShowMessage('ÓÐÈËÁ¬½Ó£¬Ê§°Ü');
end;
finally
Screen.Cursor := crDefault;
end;
end;