高分求教:如何在程序中实现数据库的还原??RESTORE DATABASE ………………
如何在程序中对SQL Server的某个数据库进行还原操作??
程序跟SQL Server有一个ADOConnection1连接,然后其它窗体都有调用该连接。
好像数据库还原操作,需要先将那个连接关闭。通过第二个ADOConnection与master表连接,然后进行还原操作。但我还是不大明白具体怎么操作。
请高手指点!!!! 拜谢!!
我的代码如下:(错误信息:数据库正在使用,未获得对数据库的排它使用权)
String str;
str="RESTORE DATABASE HBH FROM DISK = ";
if(SaveDialog1->Execute())
{
//MessageBox(NULL,"您正在进行数据库的还原。此操作将覆盖现有数据!","警告",MB_OK);
if(mrYes==MessageDlg("您正在进行数据库的还原。此操作将覆盖现有数据!",mtWarning,TMsgDlgButtons()<<mbYes<<mbNo,0))
{
ADOConnection1->Connected=false;
ADOConnection2->Connected=true;
str=str+"'"+SaveDialog1->FileName+"'";
ADOCommand1->CommandText=str;
try
{
ADOCommand1->Execute();
}
catch(...)
{
ShowMessage("还原数据库失败!请先关闭其它使用该数据库的应用程序。重新操作");
return;
}
ShowMessage("还原数据库成功!");
ADOConnection2->Connected=false;
ADOConnection1->Connected=true;
}