VC++中ADO编程的问题,高手来接分!

heavenb 2004-09-20 01:42:56
HRESULT hr;

hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=SQLOLEDB; Server=madcoder;"
"Database=NorthWind; uid=sa; pwd=98009207;","","",adModeUnknown);
if (!m_pConnection->State)
AfxMessageBox("hehe");
}
跟踪的时候发现,hr总是不能正确的初始化,总是个负值,怎么回事啊?
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanl 2004-09-20
  • 打赏
  • 举报
回复
String strConnection = "driver={SQL Server};Server=192.168.0.100;DATABASE=jskj;UID=sa";//sql2000
try
{
hr = m_pConnTemp.CreateInstance("ADODB.Connection");//

if(SUCCEEDED(hr))
{
hr=m_pConnTemp->Open((_bstr_t)strConnection,"","",adModeUnknown);
}
}
catch(_com_error e)
{
CCommon common;
AfxMessageBox(common.DisplayAdoError(m_pConnTemp));
}
if (m_pConnTemp != NULL)
{
if (m_pConnTemp->State)
{
if (m_pConnection != NULL)
{
if (m_pConnection->State)
{
m_pConnection->Close ();
}
}
m_pConnection = m_pConnTemp;
}
}
laker_tmj 2004-09-20
  • 打赏
  • 举报
回复
CoInitialize(NULL);
martingod 2004-09-20
  • 打赏
  • 举报
回复
同意楼上的,你是否CoInitialize(NULL);初始化了com??
bohut 2004-09-20
  • 打赏
  • 举报
回复
App类的InitInstance()函数里面添加:
CoInitialize(NULL);
内存泄漏 2004-09-20
  • 打赏
  • 举报
回复
你写了初始化COM的语句没有??

CoInitialize(NULL);
BombZhang 2004-09-20
  • 打赏
  • 举报
回复
hr = m_pConnection->Open("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=NorthWind;Data Source=madcoder;Password=98009207","","",adModeUnknown);
BuZhang_AP97091 2004-09-20
  • 打赏
  • 举报
回复
try{
hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=SQLOLEDB; Server=madcoder;"
"Database=NorthWind; uid=sa; pwd=98009207;","","",adModeUnknown);
if (!m_pConnection->State)
AfxMessageBox("hehe");
}
}
catch(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bs = _bstr_t(" Error: ") + _bstr_t(e.Error()) + _bstr_t(" Msg: ")
+ _bstr_t(e.ErrorMessage()) + _bstr_t(" Description: ")
+ _bstr_t(e.Description());

MessageBox(0,bs,bstrSource, MB_OK);
}
加上上面一段代码,查看异常,并有中文出错提示。
你还可以用
int nRet = GetLastError();
来看出错的地方在哪里。不过这个没有上面来得详细,建议用第一个。

4,011

社区成员

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

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