请看着两个问题

xiaotianyatou 2003-09-13 03:04:55
问题1:代码如下:

_ConnectionPtr pSybaseDb;
_ConnectionPtr pSqlserverDb;
_RecordsetPtr pRstRf = NULL;
IADORecordBinding *picRs = NULL;
CRfRs rfrs;
pRstRf=pSybaseDb->Execute("SELECT * FROM RfO ",NULL,adCmdText);//结果可能是多条记录,也可能为空
for(int i=0;!pRstRf->adoEOF;i++)
{
TESTHR(pRstRf->QueryInterface(__uuidof(IADORecordBinding),(LPVOID*)&picRs));
TESTHR(picRs->BindToRecordset(&rfrs));
pSqlserverDb->Execute("INSERT INTO Rf...",NULL,adCmdText);
pRstRf->MoveNext();
}
在这段代码中的for循环,当pRstRf从select语句中得到一条或多条记录时,程序可以很好的运行,但是,当得到0条记录时,程序就会出错,此时,如果把这两个TESTHR语句放在for语句的前面时,程序就没问题。请问这是什么原因?应该怎样改正?
问题2:
在用记录集绑定时,对date类型的绑定如果用adDBTimeStamp的话,应该把相应变量定义成什么类型?
...全文
23 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,011

社区成员

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

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