源程序 try
DataStr:=Edit3.text+'_Data.MDF';
LogStr:=Edit3.text+'_Log.LDF';
Copyfile(PChar('E:\php\SK_Data.MDF'),PChar(Edit3.text+'_Data.MDF'),false) ;
Copyfile(PChar('E:\php\SK_Log.LDF'),PChar(Edit3.text+'_Log.LDF'),false) ;
with ADOQuery1 do
begin
SQL.Clear ;
SQL.add('sp_attach_db @dbname=N'+''+':yourdbname'+''+' , ');
SQL.add('@filename1=N'+':data'+' , ');
SQL.add('@filename2=N'+':log');
Parameters.ParamByName('yourdbname').Value :=''''+Trim(Edit1.Text )+'''';
Parameters.ParamByName('data').Value :=''''+DataStr+'''';
Parameters.ParamByName('log').Value :=''''+LogStr+'''';
end;
ADOQuery1.ExecSQL ;
ShowMessage('成功') ;
except
ShowMessage('失败');
Self.Close ;
end;
MSSQL事件器捕抓到:
exec sp_executesql N'sp_attach_db @dbname=N@P1 ,
@filename1=N@P2 ,
@filename2=N@P3
', N'@P1 varchar(5),@P2 varchar(28),@P3 varchar(27)', '''hao''', '''D:\skerp\data\hao_Data.MDF''', '''D:\skerp\data\hao_Log.LDF'''
提示语法错误,直接用这个 ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.add('sp_attach_db @dbname=N'+''+'''yourdbname'''+''+' , ');
ADOQuery1.SQL.add('@filename1=N'+''''+'D:\skerp\data\hao_Data.MDF'+''''+' , ');
ADOQuery1.sql.add('@filename2=N'+''''+D:\skerp\data\hao_Log.LDF''') ;
ADOQuery1.ExecSQL ;
是正确。
谢谢!
DataStr:=Edit3.text+'_Data.MDF';
LogStr:=Edit3.text+'_Log.LDF';
Copyfile(PChar('E:\php\SK_Data.MDF'),PChar(Edit3.text+'_Data.MDF'),false) ;
Copyfile(PChar('E:\php\SK_Log.LDF'),PChar(Edit3.text+'_Log.LDF'),false) ;
with ADOQuery1 do
begin
SQL.Clear ;
SQL.add('sp_attach_db @dbname=N'+''+':yourdbname'+''+' , ');
SQL.add('@filename1=N'+':data'+' , ');
SQL.add('@filename2=N'+':log');
Parameters.ParamByName('yourdbname').Value :=''''+Trim(Edit1.Text )+'''';
Parameters.ParamByName('data').Value :=''''+DataStr+'''';
Parameters.ParamByName('log').Value :=''''+LogStr+'''';
end;
ADOQuery1.ExecSQL ;
ShowMessage('成功') ;
except
ShowMessage('失败');
Self.Close ;
end;
MSSQL事件器捕抓到:
exec sp_executesql N'sp_attach_db @dbname=N@P1 ,
@filename1=N@P2 ,
@filename2=N@P3
', N'@P1 varchar(5),@P2 varchar(28),@P3 varchar(27)', '''hao''', '''D:\skerp\data\hao_Data.MDF''', '''D:\skerp\data\hao_Log.LDF'''
提示语法错误,直接用这个 ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.add('sp_attach_db @dbname=N'+''+'''yourdbname'''+''+' , ');
ADOQuery1.SQL.add('@filename1=N'+''''+'D:\skerp\data\hao_Data.MDF'+''''+' , ');
ADOQuery1.sql.add('@filename2=N'+''''+D:\skerp\data\hao_Log.LDF''') ;
ADOQuery1.ExecSQL ;
是正确。
谢谢!
解决方案 »
- 感应数据集的变动
- 我是新手,请问一个记录集指针的难道(相对我来说)
- 郁闷问题答者都给分,先谢了
- 寻求这样的控件 http://www.queenball.com/hm/a1.gif
- 求助!!如何实现网络串口扫描????/
- 直接向端口输出的打印问题!
- 用了spcomm控件怎么不能关机了
- 如何把字符转换成窗体类名???高分相送在线等待!!!
- 在Access里加了密码,在程序中使用ADO去链,请问密码如何提供,用户名又是什么!
- 怎样实现两个时间相加、相减
- 在delphi中打开.txt文件并用table等控件显示
- adoquery1.sql.add('insert into tablename values(:id,:name)');怎么才能给参数赋值
exec sp_executesql N 'sp_attach_db @dbname=N@P1 ,
@filename1=N@P2 ,
@filename2=N@P3
', N '@P1 varchar(5),@P2 varchar(28),@P3 varchar(27) ', ' ' 'hao ' ' ', ' ' 'D:\skerp\data\hao_Data.MDF ' ' ', ' ' 'D:\skerp\data\hao_Log.LDF ' ' ' 用SQL查询分析运行上面会提示语法错误,不知道怎么调试这个SQL语句