首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

MSSQL数据库附加解决办法

2012-04-06 
MSSQL数据库附加源程序 tryDataStr:Edit3.text+_Data.MDFLogStr:Edit3.text+_Log.LDFCopyfile(PCh

MSSQL数据库附加
源程序 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 ;
是正确。
谢谢!

[解决办法]
如果后半部分正确,那应该是前面copy过程,出错了吧,比如说目标文件已经有了,所以copy不过去,你可以用断点调试一下,看看究竟是哪里出问题。
[解决办法]
''''

热点排行