CREATE DATABASE问题

hncdsun 2004-06-29 02:43:53
请问在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();
...全文
54 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hncdsun 2004-06-29
  • 打赏
  • 举报
回复
上面的的SQL语句在<查询分析器>中通过!

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧