CREATE DATABASE问题
请问在VC下用ADO怎么建一个数据库啊???
下面我的代码:
_ConnectionPtr m_pCn;
CString strSQL;
HRESULT hr;
CString strServerName = "sun";
CString strDBName = "pubs";
CString strUserName = "sa";
CString strPWD = "";
try
{
hr = m_pCn.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pCn->ConnectionTimeout=30;
m_pCn->Mode=adModeRead;
strSQL.Format("Provider=SQLOLEDB.1;Data Source=%s;Initial Catalog=%s;User ID=%s;PWD=%s",
strServerName,strDBName,strUserName,strPWD);
hr = m_pCn->Open(_bstr_t(strSQL),"","",adModeUnknown);
}
else
{
CString errormessage;
errormessage.Format("Êý¾Ý¿â´´½¨Ê§°Ü!\r\n");
::AfxMessageBox(errormessage);
return ;
}
}
catch(_com_error e)///²¶×½Òì³£
{
CString errormessage;
errormessage.Format("Á¬½ÓÊý¾Ý¿âʧ°Ü!\r\n´íÎóÐÅÏ¢:%s",e.ErrorMessage());
::AfxMessageBox(errormessage);
return;
}
try
{
_variant_t RecordsAffected;
m_pCn->Execute("IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'sun') DROP DATABASE [sun]",&RecordsAffected,adCmdText);
//每次都在这儿报错!3092错误,不知道是什么原因!
m_pCn->Execute("CREATE DATABASE [sun] ON (NAME = N'sun_Data', FILENAME = N'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\data\\sun_Data.MDF' , SIZE = 2, FILEGROWTH = 10%) LOG ON (NAME = N'sun_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\sun_Log.LDF' , SIZE = 1, FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_AS",&RecordsAffected,adCmdText);
m_pCn->Execute("restore database sun from disk='d:\\sun.bak'",&RecordsAffected,adCmdText);
}
catch(_com_error e)///²¶×½Òì³£
{
CString errormessage;
errormessage.Format("´´½¨±íʧ°Ü!\r\n´íÎóÐÅÏ¢:%s",e.ErrorMessage());
::AfxMessageBox(errormessage);
m_pCn->Close();
m_pCn.Release();
return;
}
m_pCn->Close();
m_pCn.Release();