做个传入参数的function不就完事了吗?

解决方案 »

  1.   

    --执行建库语句就行了.
    create database 数据库名
      

  2.   

    // 我的代码
    // 总是说“没有为命令对象设置命令”BOOL CTTWDlg::CreateDatabase(LPCTSTR szSQLServer, LPCTSTR szDatabase, LPCTSTR szUserName, LPCTSTR szPassword)
    {
    try
    {
    _ConnectionPtr pConnect; // 连接指针
    HRESULT hr = 0;
    TCHAR buf[256] = {'\0'};
    swprintf(
    buf,
    _T("Provider=SQLOLEDB.1;Persist Security pInfo=False;Initial Catalog=\"master\";Data Source=%s"),
    szSQLServer
    ); hr = pConnect.CreateInstance(__uuidof(Connection));
    if (SUCCEEDED(hr))
    {
    hr = pConnect->Open(buf, szUserName, szPassword, adModeUnknown); // adAsyncConnect);
    if (SUCCEEDED(hr))
    {
    memset(buf, 0, sizeof(buf));
    wprintf(buf, _T("CREATE DATABASE KingAlarm_%s_%s"), szSQLServer, szDatabase); hr = pConnect->Execute(_T("USE master"), 0, adCmdText | adExecuteNoRecords);
    hr = pConnect->Execute(buf, 0, adCmdText | adExecuteNoRecords); pConnect->Close();
    }
    else
    {
    pConnect.Release();
    return FALSE;
    }
    pConnect.Release();
    }
    else
    {
    return FALSE;
    }
    }
    catch(_com_error& e)
    {
    ReportComError(e);
    return FALSE;
    } return TRUE;
    }