⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_14811.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:14811 发表者:ZhangLiJun 发表日期:2002-09-11 17:23:39
<br>主题:ADO的问题呀,小弟可是初学,并是在此问的好像是第一个问题,帮一下了.
<br>内容:我以前在此下载过一个ADO的封装类.其中关于对整型字段的读取代码为:<BR>bool CADORecordset::GetFieldValue(int nIndex, int& nValue)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int val = (int)NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_variant_t vtFld;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_variant_t vtIndex;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;vtIndex.vt = VT_I2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;vtIndex.iVal = nIndex;<BR>&nbsp;&nbsp;&nbsp;&nbsp;vtFld = m_pRecordset-&gt;Fields-&gt;GetItem(vtIndex)-&gt;Value;//???????????????????????<BR>&nbsp;&nbsp;&nbsp;&nbsp;switch(vtFld.vt)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;case VT_I2:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val = vtFld.iVal;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;case VT_NULL:<BR>&nbsp;&nbsp;&nbsp;&nbsp;case VT_EMPTY:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;default:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;nValue = val;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return true;<BR>}<BR>但执行到问号处于mdado15.tli的<BR>inline _variant_t Field20::GetValue ( ) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;VARIANT _result;<BR>&nbsp;&nbsp;&nbsp;&nbsp;VariantInit(&_result);<BR>&nbsp;&nbsp;&nbsp;&nbsp;HRESULT _hr = get_Value(&_result);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));<BR>&nbsp;&nbsp;&nbsp;&nbsp;return _variant_t(_result, false);<BR>}<BR>执行到&nbsp;&nbsp;&nbsp;&nbsp;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-&gt;Fields-&gt;GetItem(vtIndex)-&gt;Value;//???????????????????????<BR>将这句话改写一下:<BR>vtFld=m_pRecordset-&gt;GetCollect(vtIndex);<BR>&nbsp;&nbsp;&nbsp;&nbsp;
<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 + -