BOOL CDataBaseWork::IntiDataBase()
{
AfxOleInit();//初始化
_bstr_t strConnection;
HRESULT hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pCatalog.CreateInstance(__uuidof(Catalog));
ASSERT(m_pConnection!=NULL);
if(FAILED(hr))
{
AfxMessageBox("Can not get a instance of Connection!");
return false;
}
try
{
//连接已建数据库
strConnection="Provider=SQLOLEDB;Server=fw;Initial Catalog=SQLdatabase;uid=sa;pwd=11;";
m_pConnection->Open(strConnection,"","",adModeUnknown);
AfxMessageBox("connect SQLdatabase success!");
m_pCatalog->PutActiveConnection(m_pConnection.GetInterfacePtr());
return true;
}
catch(_com_error e)
{
try
{
//连接到master数据库
_bstr_t strConnect="Provider=SQLOLEDB;Server=fw;Initial Catalog=master;uid=sa;pwd=11;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
AfxMessageBox("connect master success!"); //创建数据库
strConnection="CREATE DATABASE SQLdatabase ON\
( NAME='SQLdatabase_dat',FILENAME=\'E:\database\',\
SIZE=10MB,MAXSIZE=50,FILEGROWTH=5)\
LOG ON (NAME='SQLdatabase_log',FILENAME=\'E:\database\',\
SIZE=5MB,MAXSIZE=25,FILEGROWTH=5);"; //当前连接创建数据库
m_pConnection->Execute(strConnection,NULL,adCmdText);
////////////////////////////////上面这句执行语句就是错误处 AfxMessageBox("create SQLdatabase success!");
//关闭当前的连接,重新打开,连接到新建的数据库
m_pConnection->Close();
strConnection="Provider=SQLOLEDB;Server=127.0.0.1;Initial Catalog=SQLdatabase;uid=sa;pwd=11;";
m_pConnection->Open(strConnection,"","",adModeUnknown);
AfxMessageBox("connect SQLdatabase success!");
m_pCatalog->PutActiveConnection(m_pConnection.GetInterfacePtr());
return true;
}
catch(_com_error e)
{
m_pCatalog->Release();
m_pConnection->Release();
m_pCatalog=NULL;
m_pConnection=NULL;
AfxMessageBox(e.ErrorMessage());
AfxMessageBox(e.Description());
return false;
}
}
}这段代码及用ado 自动建sql server数据库,怎么也调不通,不知道哪里错了,那位高手帮忙调一下?
{
AfxOleInit();//初始化
_bstr_t strConnection;
HRESULT hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pCatalog.CreateInstance(__uuidof(Catalog));
ASSERT(m_pConnection!=NULL);
if(FAILED(hr))
{
AfxMessageBox("Can not get a instance of Connection!");
return false;
}
try
{
//连接已建数据库
strConnection="Provider=SQLOLEDB;Server=fw;Initial Catalog=SQLdatabase;uid=sa;pwd=11;";
m_pConnection->Open(strConnection,"","",adModeUnknown);
AfxMessageBox("connect SQLdatabase success!");
m_pCatalog->PutActiveConnection(m_pConnection.GetInterfacePtr());
return true;
}
catch(_com_error e)
{
try
{
//连接到master数据库
_bstr_t strConnect="Provider=SQLOLEDB;Server=fw;Initial Catalog=master;uid=sa;pwd=11;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
AfxMessageBox("connect master success!"); //创建数据库
strConnection="CREATE DATABASE SQLdatabase ON\
( NAME='SQLdatabase_dat',FILENAME=\'E:\database\',\
SIZE=10MB,MAXSIZE=50,FILEGROWTH=5)\
LOG ON (NAME='SQLdatabase_log',FILENAME=\'E:\database\',\
SIZE=5MB,MAXSIZE=25,FILEGROWTH=5);"; //当前连接创建数据库
m_pConnection->Execute(strConnection,NULL,adCmdText);
////////////////////////////////上面这句执行语句就是错误处 AfxMessageBox("create SQLdatabase success!");
//关闭当前的连接,重新打开,连接到新建的数据库
m_pConnection->Close();
strConnection="Provider=SQLOLEDB;Server=127.0.0.1;Initial Catalog=SQLdatabase;uid=sa;pwd=11;";
m_pConnection->Open(strConnection,"","",adModeUnknown);
AfxMessageBox("connect SQLdatabase success!");
m_pCatalog->PutActiveConnection(m_pConnection.GetInterfacePtr());
return true;
}
catch(_com_error e)
{
m_pCatalog->Release();
m_pConnection->Release();
m_pCatalog=NULL;
m_pConnection=NULL;
AfxMessageBox(e.ErrorMessage());
AfxMessageBox(e.Description());
return false;
}
}
}这段代码及用ado 自动建sql server数据库,怎么也调不通,不知道哪里错了,那位高手帮忙调一下?
解决方案 »
- 非常奇怪,装了VS2010后,桌面上好多文件都带一个蓝色的问号?
- 请大家帮我测试一下程序哦
- 公司给我加薪了,很欣慰,特此发帖赠分.......
- 我用MFC的文档框架作打印,在打印预览中的打印按钮不好用,是我哪里做得不对?
- Session::GetUserName格式的疑问
- 这算是 CSDN 的一个“法律漏洞”吗?
- 请问大虾用SQL语句动态创建ACCESS表的时候,怎样设定字段的属性中的"允许空字符串"
- ****MSDN的使用方法*****
- 请教一个菜鸟问题:如何将CString转为unsigned char??
- 我尊敬的程序员大哥,对于迷茫的我,请给我指一条路吧!您的指点对我来说真的很重要。
- VC中调用JAR文件的问题
- 如何文件通过http的post方法上传到服务器?
( NAME='SQLdatabase_dat',FILENAME=\'E:\\database\',\
SIZE=10MB,MAXSIZE=50,FILEGROWTH=5)\
LOG ON (NAME='SQLdatabase_log',FILENAME=\'E:\\database\',\
SIZE=5MB,MAXSIZE=25,FILEGROWTH=5);";