能不能在adoquery中执行ms-sql的sp_attach_db语句.(80分)

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

whitehorse

Unregistered / Unconfirmed
GUEST, unregistred user!
动态添加任意位置的一个数据库,动态删除这种数据库连接
在SQL中的查询器中用sp_attach_db和sp_detach_db语句可以完成
能不能在程序中使用adoquery语句完成,怎样写
 
with query1 do
begin
close;
databasename:='master';
sql.clear;
sql.add('EXEC sp_attach_db @dbname '+' = N'''+sDbName0+''''+', ');
sql.add('@filename1 = N'''+sDatapath(路径)+'/xxxxx.mdf'''+', ');
sql.add('@filename2 = N'''+sDatapath+'/xxxxx.ldf''');
try
execsql;
except
application.messagebox('备份恢复失败!','提示',48);
exit;
end;
close;
end;
 
可以,即:ADOQuery1.SQL.Add('EXEC sp_attach_db @dbname = :s1, ' +
'@filename1 = :s2,' +
'@filename2 = :s3');
再指定参数值。
ADOQuery1.ExecSQL;

:ADOQuery1.SQL.Add('EXEC sp_detach_db @dbname = :s1,@skipchecks = ' + '''' + 'true' + '''');
再指定参数值。
ADOQuery1.ExecSQL;
 
多人接受答案了。
 
顶部