_RecordsetPtr::Open()时,老是弹出:0x7c80bef7 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f7d
一下这段代码是连接数据库,根据特定条件读取相应的数据(COM组件注册是没有问题的,因为已经能够写进去了,就是不能读出来...)
小弟平常很少和数据库打交道,实在不知道这是啥原因...
麻烦各位老鸟们看看是不是代码哪里错了(生成的SQL语句是对的,我手动到数据库是能够查出相应的数据来的,就是用程序查找就出问题。虽然分是少了点,但还是希望大伙儿不腻赐教,小弟在此有礼了...)
CString strSQL;
_variant_t var;
_ConnectionPtr m_pConn;
_RecordsetPtr m_pRst;
HRESULT hr;
// 获取当前鼠标所指行的信息
int ItemNum = this->GetSelectionMark();
strID = this->GetItemText(ItemNum, 0);
strIP = this->GetItemText(ItemNum, 1);
strPort = this->GetItemText(ItemNum, 2);
hr = m_pConn.CreateInstance(__uuidof(Connection));
m_pRst.CreateInstance(__uuidof(Recordset));
m_pRst->CursorLocation = adUseClient;
m_pConn->ConnectionTimeout = DBTIMEOUT;
m_pConn->CommandTimeout = DBTIMEOUT;
strSQL.Format("select id,ip,port,remark,updatetime,starttime,sendnum,rcvnum,errnum,connnum,sendtra,rcvtra,clientdisc,monitorport,lowip,lownote,transferip,transfernote from serverport where id=%s",strID);
try{
m_pRst->Open(strSQL.GetBuffer(0),(IDispatch*)m_pConn,adOpenKeyset,adLockOptimistic,adCmdText);