CString mStrCir;
mStrCir = "select * from circuit";
MessageBox("k10k10");
try
{
m_pRs_cir->Open(_variant_t(mStrCir), _variant_t((IDispatch *)m_pCon.GetInterfacePtr(),true), adOpenKeyset, adLockOptimistic, adCmdTable);
MessageBox("k10k11");
}
catch (_com_error &e)
{
::MessageBox(NULL,"无法打开mytable表。","提示", MB_OK | MB_ICONWARNING);
}调试到m_pRs_cir->Open(_variant_t(mStrCir), _variant_t((IDispatch *)m_pCon.GetInterfacePtr(),true), adOpenKeyset, adLockOptimistic, adCmdTable);后终止。运行也只能运行到MessageBox("k10k10");
此处目的是为了打开表circuit的数据集,请问各位大哥,我这里哪里有问题,请指点。
还有就是m_pRs_cir->Open(_variant_t(mStrCir), _variant_t((IDispatch *)m_pCon.GetInterfacePtr(),true), adOpenKeyset, adLockOptimistic, adCmdTable);打开MYSQL和MS SQL区别是什么,有时好象又一样,是不是ADO的读写方式都是统一一样的?并不理解m_pRs_cir->Open里各项的具体作用
mStrCir = "select * from circuit";
MessageBox("k10k10");
try
{
m_pRs_cir->Open(_variant_t(mStrCir), _variant_t((IDispatch *)m_pCon.GetInterfacePtr(),true), adOpenKeyset, adLockOptimistic, adCmdTable);
MessageBox("k10k11");
}
catch (_com_error &e)
{
::MessageBox(NULL,"无法打开mytable表。","提示", MB_OK | MB_ICONWARNING);
}调试到m_pRs_cir->Open(_variant_t(mStrCir), _variant_t((IDispatch *)m_pCon.GetInterfacePtr(),true), adOpenKeyset, adLockOptimistic, adCmdTable);后终止。运行也只能运行到MessageBox("k10k10");
此处目的是为了打开表circuit的数据集,请问各位大哥,我这里哪里有问题,请指点。
还有就是m_pRs_cir->Open(_variant_t(mStrCir), _variant_t((IDispatch *)m_pCon.GetInterfacePtr(),true), adOpenKeyset, adLockOptimistic, adCmdTable);打开MYSQL和MS SQL区别是什么,有时好象又一样,是不是ADO的读写方式都是统一一样的?并不理解m_pRs_cir->Open里各项的具体作用
解决方案 »
- vc6.0 调用webservice的问题,结果总是返回soap:Client
- 窗口不出现
- 调试时涉及ATL相关错误,请高手指教!!
- 函数问题
- 关于TCP/IP阻塞模式下的多线程连接(客户端)
- 关于滚动条的消息处理! 我有一个组件,放在ie里面,可是随着ie浏览器滚动条的滚动,我的控件变得‘花’了,我应该处理什么消息呀???
- 这段代码为什么不起作用?
- 请问类型CLongBinary怎样转换为类型CByteArray?
- 跪求用vc++做的画图板程序
- 一个比较简单的问题......菜鸟提问!!!(关于OLE)
- 问一个图像放大和滚动条拖拉的问题(源代码也附上)
- 关于ClassWizard,如何向里面添加一个已经存在的类(拷贝的文件)
你确定m_pCon是正确的了?
当我把前个类中的数据库连接删除并在本类中实现连接时,就可以打开数据集了,但是却不能正常读出
CString strColName[8] = {"CirNum","CirType","DirCode","DirNum","CirGroup","OccupyDesk","Gain","RingTime"};//数据库表名 int k =0;
m_pRs_cir->MoveFirst(); while(!(m_pRs_cir->adoEOF))
{
for(int i = 0;i<8;i++)
{ MessageBox("k10k10222222");
CString strContent[8];
strContent[i]=(char*)_bstr_t(m_pRs_cir->GetCollect((_bstr_t)strColName[i])); //读取字段名
if(i==0)
{
m_list_cirnum.InsertItem(k,strContent[i]);//插入LIST中
}
else
{
m_list_cirnum.SetItemText(k,i,strContent[i]);
}
}
k++;
m_pRs_cir->MoveNext();
// m_pRscir.m_pRs_cir->MoveNext();//本来在另外一个类中连接数据库时需要前类对象m_pRscir来调用字符集操作m_pRs_cir。
if(k>10)
{
MessageBox("k10k1055555555");
break;
}
}
但是失败,循环到6时就跳出循环,不知道为什么
在前个类中进行数据库连接时声明的对象m_pCon.CreateInstance(__uuidof(Connection));
m_pRs_cir.CreateInstance(__uuidof(Recordset));初始后,在本类中为什么不能用前类在本类中新声明的对象来调用呢?
前类中的m_pCon和m_pRs_cir并没有销毁(应该没有,还没关系窗口);是不是调用方法不对,请指点。菜鸟求学中...
怎么才能在读NULL值时不报错...
strContent[i]=(char*)_bstr_t(m_pRs_cir->GetCollect((_bstr_t)strColName[i])); //读取字段名
应该加判断
_variant_t GetValue;GetValue=m_pRs_cir->GetCollect((_bstr_t)strColName[i]);
if(GetValue.vt!=VT_NULL)
strContent[i]=(char*)_bstr_t(GetValue);