在本机上已装好SQL SERVER.
程序中使用到数据库.要求SETUP后就能用数据库.
INSTALLSHIELD安装时,怎么样加入数据库安装?

解决方案 »

  1.   

    在本机上已装好SQL SERVER.
    程序中使用到数据库此數據庫你是否已經建立
    若沒用,程序中還要建立數據庫
      

  2.   

    可以用LaunchAppwait在安装应用程序的后,再安装数据就可以了
      

  3.   

    function OnFirstUIAfter()
        NUMBER bOpt1, bOpt2;
        string svSQLsvr;
    string svSQLusr; 
    string svSQLpwd; 
        
        STRING szCmdLine,szWaitTxt;  
        
    begin   
    //创建数据库    
       SdShowDlgEdit3 ( "请填写数据库信息" , "请填写数据库信息", "数据库服务器名", "用户名" , "密码" ,svSQLsvr , svSQLusr  , svSQLpwd  );
     //   SdShowDlgEdit1 ( "输入数据库服务器名字" , "输入数据库服务器名字" , "数据库服务器名字" , svSQLsvr );
    // SdShowDlgEdit1 ( "输入用户名" , "输入用户名" , "输入用户名" , svSQLusr );   
    // SdShowDlgEdit1 ( "输入密码" , "输入密码" , "输入密码" , svSQLpwd );   

    szWaitTxt=" 正在创建所需数据库....";
    SdShowMsg (szWaitTxt, TRUE);
    Delay(2); 
    szCmdLine = "/U "+svSQLusr+" /P "+svSQLpwd+" /S "+svSQLsvr+" /Q \"exec sp_attach_db N'xoffice' , N'"+TARGETDIR ^"data\\xoffice_Data.MDF', N'"+TARGETDIR ^"data\\xoffice_Log.LDF'\"";
    if (LaunchAppAndWait("osql.exe", szCmdLine,WAIT) < 0) then
    MessageBox ("数据库创建失败!请确您的系统中已安装 Microsoft SQL Server 2000.\n如仍无法解决,请联系系统供应商!",SEVERE);
    endif;
    SdShowMsg (szWaitTxt, FALSE);   
    //-------------------------------------
    szWaitTxt=" 正在生成数据库服务器作业....";
    SdShowMsg (szWaitTxt, TRUE);
    Delay(2); 
    szCmdLine = "/U "+svSQLusr+" /P "+svSQLpwd+" /S "+svSQLsvr+" /Q \"use xoffice; exec T_createjob\"";
    if (LaunchAppAndWait("osql.exe", szCmdLine,WAIT) < 0) then
    MessageBox ("生成数据库服务器作业失败!您可以在 sql查询分析器中执行 \n use xoffice; exec T_createjob \n完成!",SEVERE);
    endif;   
    //MessageBox(szCmdLine,SEVERE);
    SdShowMsg (szWaitTxt, FALSE);
    end.
      

  4.   

    MessageBox ("生成数据库服务器作业失败!您可以在 sql查询分析器中执行 \n use xoffice; exec T_createjob \n完成!",SEVERE);xoffice是自己编的软件吗?
      

  5.   

    支持 lion_lh(xmanx)
    xoffice是你需要建的数据库名;
    xoffice_Data.MDF,xoffice_Log.LDF分别换写成你的数据库文件;osql.exe实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件。该实用工具通过 ODBC 与服务器通讯。
    如果你不是用库文件,而是使用备份文件.bak。不用sp_attatchdb而直接用restore语句