关于VC连接SQLSERVER的问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:09:40
总是连接数据库出错,不知道哪的事 .请大家帮帮忙.谢谢了
关键代码如下:

void ADOConn::OnInitADOConn() //用于连接数据库
{
try
{
m_pConnection.CreateInstance("ADODB.Connection"); //创建连接对象实例
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Mydatabase";
m_pConnection->Open(strConnect,"","",0); //打开数据库
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败!");
PostQuitMessage(0);
}
CoUninitialize();
}

BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL) //用于执行SQL语句
{
try
{
if(m_pConnection==NULL) //判断是否连接数据库
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText); //执行SQL语句
return true; //返回真值
}
catch(_com_error e)
{
e.Description();
return false; //返回假值
}
}

void ADOConn::ExitConnect() //用于

头文件里加
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
这句了吗?

App的InitInstance里加AfxOleInit();这句了吗?

都加了的话在OnInitADOConn() 的cahtch里用AfxMessageBox(e.Description());看看是什么错误。

实在找不到原因就把Provider=SQLOLEDB.1换个驱动试试。有时候某1个驱动会出莫名其妙的错误。

http://hi.baidu.com/anglecloudy/blog/item/db697909617aa0236b60fbf3.html

看一下吧,简单易懂,把你的连接字符串换成这种试试:
Driver={SQL Server};server=(local);uid=sa;pwd=;database=数据库名