求助,C++连接SQL Server时出现内存异常!

wangying1208 2010-09-19 04:28:44
下边是我调试的代码:
_ConnectionPtr m_pConnection;
CDialog::OnInitDialog();
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("driver={SQL Server};Server=OCS-ARC;DATABASE=Caller;UID=saas;PWD=saa","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
MessageBox("连接成功");
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
///////////SQL语句操作
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Recordset");
_CommandPtr m_pCommand;
m_pCommand.CreateInstance("ADODB.Command");
_variant_t vNULL;
vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;///定义为无参数
m_pCommand->ActiveConnection = m_pConnection;///非常关键的一句,将建立的连接赋值给它
m_pCommand->CommandText = "SELECT caller_id FROM caller";///命令字串
m_pRecordset = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);///执行命令,取得记录集

/////////////记录集或连接都可以用Close方法来关闭
m_pRecordset->Close();///关闭记录集
m_pConnection->Close();///关闭连接


程序在执行到
m_pRecordset = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);
这一句时出现异常,具体的异常内容为:
0x7c812a6b 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f220 处的 _com_error。
本人是C++新手,麻烦帮忙一下了!!!
...全文
166 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
WalkersChen 2010-09-21
  • 打赏
  • 举报
回复
捕捉异常看看是什么回事

try
{
m_pCommand->ActiveConnection = m_pConnection;///非常关键的一句,将建立的连接赋值给它
m_pCommand->CommandText = "SELECT caller_id FROM caller";///命令字串
m_pRecordset = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);///执行命令,取得记录集
}
catch( _com_error &e )
{
AfxMessageBox(e.Description().GetBSTR());
}
qqiuzaihui 2010-09-19
  • 打赏
  • 举报
回复
是不是要散分了
wangying1208 2010-09-19
  • 打赏
  • 举报
回复
问题已经解决了,谢谢了,是我的字段的名字没有弄对,导致出现了这个问题!
wangying1208 2010-09-19
  • 打赏
  • 举报
回复
都存在,我之前在服务器上的SQL Server里建的。
cpp2017 2010-09-19
  • 打赏
  • 举报
回复
字段,表什么的是不是都存在.
wangying1208 2010-09-19
  • 打赏
  • 举报
回复
自己顶一下吧,我刚才又调试了一下,m_pConnection的值不是NULL,数据库的连接应该是成功的,可是不知道为什么到具体执行SQL语句的时候就有问题,麻烦达人们帮帮忙啊~~~

4,011

社区成员

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

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