📄 subject_14811.htm
字号:
<p>
序号:14811 发表者:ZhangLiJun 发表日期:2002-09-11 17:23:39
<br>主题:ADO的问题呀,小弟可是初学,并是在此问的好像是第一个问题,帮一下了.
<br>内容:我以前在此下载过一个ADO的封装类.其中关于对整型字段的读取代码为:<BR>bool CADORecordset::GetFieldValue(int nIndex, int& nValue)<BR>{<BR> int val = (int)NULL;<BR> _variant_t vtFld;<BR> _variant_t vtIndex;<BR> <BR> vtIndex.vt = VT_I2;<BR> vtIndex.iVal = nIndex;<BR> vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;//???????????????????????<BR> switch(vtFld.vt)<BR> {<BR> case VT_I2:<BR> val = vtFld.iVal;<BR> break;<BR> case VT_NULL:<BR> case VT_EMPTY:<BR> val = 0;<BR> break;<BR> default:<BR> return false;<BR> } <BR> nValue = val;<BR> return true;<BR>}<BR>但执行到问号处于mdado15.tli的<BR>inline _variant_t Field20::GetValue ( ) {<BR> VARIANT _result;<BR> VariantInit(&_result);<BR> HRESULT _hr = get_Value(&_result);<BR> if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));<BR> return _variant_t(_result, false);<BR>}<BR>执行到 HRESULT _hr = get_Value(&_result);<BR>时_hr的值为错误.我该怎么办呀?<BR><BR>我的调用代码为:<BR>int lastNum;<BR>ds.GetFieldValue(4,lastNum);
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:啊志 回复日期:2002-09-11 18:29:45
<br>内容:用try { }catch(_com_error &e){}检测一下到底是什么异常
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ZhangLiJun 回复日期:2002-09-11 18:54:50
<br>内容:错误是:_Com_error然后是一串地址:(
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:静风 回复日期:2002-09-11 20:22:27
<br>内容:catch(_com_error &e)<BR>{<BR>TRACE("Description:%s.\n",(LPCSTR)e.Description());<BR>}<BR>看看是什么错误描述<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:静风 回复日期:2002-09-11 20:25:47
<br>内容:vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;//???????????????????????<BR>将这句话改写一下:<BR>vtFld=m_pRecordset->GetCollect(vtIndex);<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ZhangLiJun 回复日期:2002-09-12 09:43:57
<br>内容:解决了,原来是这样的,<BR>ds.MoveFirst();<BR>而我写成了<BR>ds.MoveFirst;<BR>我用catch得到了EOF的错误,所以解决了,谢谢大家
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -