代码如下:
m_pRecordset = m_pConnection->Execute((_bstr_t)sz,&DataRecords,adCmdText);如果是用open打开,是可以用m_pRecordset->RecordCount取得记录的个数但是用execute就不行,两者有什么区别吗??其他先前定义的一些代码:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pConnection->Open("Data Source=Data;UID=sa;PWD=;","","",adModeUnknown);
}
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
m_pRecordset = m_pConnection->Execute((_bstr_t)sz,&DataRecords,adCmdText);如果是用open打开,是可以用m_pRecordset->RecordCount取得记录的个数但是用execute就不行,两者有什么区别吗??其他先前定义的一些代码:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pConnection->Open("Data Source=Data;UID=sa;PWD=;","","",adModeUnknown);
}
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
解决方案 »
- IOCP问题,十几二十分钟后为什么会没有反应
- win7创建socket失败?
- msado15!CConnection::Close->CQuery::Cancel->Sleep导致 IIS 死锁
- internet上如何实现程序的socket?
- 通过工具条自动跳转到文件的某一行,如何实现
- 我的activex控件浏览器无法加载,报“复制××.ocx文件时出错”,在线等
- CFileDialog的问题
- 两天一结贴!第三次问!不管你是否答好?
- 关于com的中间层(逻辑层)
- 看者有分……
- 请高手帮忙,到底错在哪里呢,请高手指点,谢谢?
- 在我的程序里使用ShellExecute打开一个浏览器。我怎么在程序里结束这个打开的浏览器呢,?
m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRecordset->GetCollect(vIndex);///取得第一个字段的值放入vCount变量
上两句可以写成— _variant_t vCount = m_pRecordset->GetCollect((_variant_t)((long)0));
m_pRecordset->Close();///关闭记录集
CString message;
message.Format("共有%d条记录",vCount.lVal);
AfxMessageBox(message);///显示当前记录条数
取的是记录集中的第一个数据了,并非是取的记录的个数,就如前面的注解所说);///取得第一个字段的值放入vCount变量,我试了一下,并不正确啊!!
Execute 返回的记录集是快照型的