诸位大侠:
      我想在delphi中实现,执行sql server带参数的系统过程(或脚本也行),可是我不知道该怎么做?????过程如下:==========================
   EXEC sp_attach_db @dbname = N'mrcrm', 
   @filename1 = N'f:\DataBase\mrcrm_data.mdf', 
   @filename2 = N'f:\DataBase\mrcrm_log.ldf'
==========================

解决方案 »

  1.   

    我转过来的,你参考一下:// 安装附加SQL数据库 
    s:='EXEC sp_attach_db @dbname = N'+char(39)+'数据库名'+char(39)+','+
    '@filename1 = N'+char(39)+ExtractFilePath(paramstr(0))+'数据库文件_Data.MDF'+char(39)+
    ','+'@filename2 = N'+char(39)+ExtractFilePath(paramstr(0))+'数据库日志_Log.LDF'+char(39);
    ADOCommand.CommandText := s;
    ADOCommand.Execute();
    Messagebox(handle,'数据库安装成功!','提醒',MB_OK+MB_ICONINFORMATION);
    //上例数据库文件必须在安装目录下,如果在其他文件夹,修改ExtractFilePath(paramstr(0))
    //例如:
    EXEC sp_attach_db @dbname = N'KindMeet',
    @filename1 = N'E:\ifly\work\SaiWei\KidMeet\database\KidMeet_Data.MDF',
    @filename2 = N'E:\ifly\work\SaiWei\KidMeet\database\KidMeet_Log.LDF' 
    //from:http://www.delphibbs.com/keylife/iblog_show.asp?xid=13568 
      

  2.   

    嘻嘻,我不是高手,但是这个我知道。
    用TADOCommand组件代码如下:
        ADOCommand1.CommandText:=
       'EXEC sp_attach_db @dbname = N''mrcrm'',@filename1 = N''f:\DataBase\mrcrm_data.mdf'',@filename2 = N''f:\DataBase\mrcrm_log.ldf'''      ADOCommand1.Execute;
    就可以啦。
      

  3.   


    with ADOStoredProc1 do
    begin
      Close;
      ProcedureName := 'sp_attach_db';
      Parameters.Refresh;
      Parameters.ParamByName('@dbname').Value := 'mrcrm';
      Parameters.ParamByName('@filename1').Value := 'f:\DataBase\mrcrm_data.mdf';
      Parameters.ParamByName('@filename2').Value := 'f:\DataBase\mrcrm_log.ldf';
      Execute;
    end;
      

  4.   

    如果用ADOStoredProc1,首先在程序中先要创建参数,否则会提示找不到参数
    ADOStoredProc1.Parameters.CreateParameter