异常:0x00315A32 处有未经处理的异常(在 测试.exe 中): 0xC0000005: 读取位置 0x00000000 时发生访问冲突。

麦田的守望者_ 2015-04-08 09:05:46
#import "c:\program files\common files\system\ado\msado15.dll" named_guids rename_namespace("ADOCG") rename("EOF", "EndOfFile") rename("BOF","FirstOfFile")
#include <iostream>
#include <string>
using namespace ADOCG;
using namespace std;
int main()
{
_ConnectionPtr pConn=NULL;
CoInitialize(NULL);
HRESULT hr= pConn.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
{
//提示错误
return 0;
}
_bstr_t strConnect="Provider=SQLOLEDB;Server=落叶随风;Database=bj_db_kk;uid=sa;pwd=5201314";
try{
pConn->Open(strConnect,"","",NULL);
}
catch(_com_error &e)
{
//提示错误信息e.Descripton();
}
_CommandPtr cmmd;
HRESULT hrCmd = cmmd.CreateInstance(__uuidof(Command));
if(FAILED(hrCmd))
{
//创建设_ComandPtr对象失败,提示失败
return 0;
}
int a,b;
b=100;
_ParameterPtr param = cmmd->CreateParameter(""/*NetType*/,adVarChar,adParamInput,10,b);
cmmd->Parameters->Append(param);
param = cmmd->CreateParameter("aaa"/*Desp*/,adVarChar,adParamOutput,254);
cmmd->Parameters->Append(param);
//返回参数,返回新建的网络的ID
cmmd->CommandText=_bstr_t("tset");//存储过程的名称
cmmd->ActiveConnection = pConn;//需要使用的ADO连接
_RecordsetPtr rs=NULL;
cmmd->CommandType=adCmdStoredProc;
rs.CreateInstance(__uuidof(Recordset));
rs=cmmd->Execute(NULL,NULL,adCmdStoredProc);
a=(int)cmmd->Parameters->GetItem("aaa")->GetValue();//获取输出参数值
while(!rs->EndOfFile)
{
cout<<(_bstr_t)rs->GetFields()->GetItem("HC")->Value //这里是列名
<<(_bstr_t)rs->GetFields()->GetItem("CYZ")->Value<<endl;//这里是列名
rs->MoveNext();//移到下一行
}
cmmd.Detach(); //断开连接
getchar();
return 0;
}

都不知道哪里错了。。
...全文
391 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-04-09
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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