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

📄 subject_33848.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:33848 发表者:qwh 发表日期:2003-03-24 17:01:04
<br>主题:最郁闷的问题!!!!(请高手指点!)
<br>内容:我用ADO+Oracle+VC写了一段代码如下:<BR><BR>_RecordsetPtr OpenRecordset(CString strSQL)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRecordset.CreateInstance(__uuidof(Recordset));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRecordset-&gt;Open((_variant_t)strSQL,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theApp.m_pConnection.GetInterfacePtr(),&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adOpenStatic,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adLockOptimistic,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adCmdText);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;catch(_com_error *e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(e-&gt;ErrorMessage());<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return pRecordset;<BR>}<BR><BR><BR>void CMyDlg::WriteData(DATA *p,int count)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString strSQL="select * from tab_values";<BR>&nbsp;&nbsp;&nbsp;&nbsp;_RecordsetPtr&nbsp;&nbsp;&nbsp;&nbsp;pRds;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pRds=OpenRecordset(strSQL);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;for (int i=0;i&lt;count;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString s1,s2,s3;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((*p).fStatus==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s1=(*p).szPntName;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s2.Format("%.4f",(*p).pupvValue-&gt;real);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SYSTEMTIME&nbsp;&nbsp; localTime;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetLocalTime(&amp;localTime);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CTime&nbsp;&nbsp;szCurTime( localTime.wYear,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localTime.wMonth,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localTime.wDay,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localTime.wHour,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localTime.wMinute,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localTime.wSecond);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s3 = szCurTime.Format("%Y-%m-%d %H:%M");<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRds-&gt;AddNew();&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRds-&gt;PutCollect("point",_variant_t(s1));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRds-&gt;PutCollect("rdata",_variant_t(atof(s2)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRds-&gt;PutCollect("rtime",_variant_t(s3));<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRds-&gt;Update();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;pRds-&gt;Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;pRds=NULL;<BR>}<BR><BR>调试单步执行没有问题,直接运行报错:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abnormal program termination!<BR>我一次插入400多条记录,每隔1分钟一次,我试过加大周期(6分种),也一样出错!<BR><BR>请帮忙啊!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:qwh 回复日期:2003-03-24 20:22:40
<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>回复者:panxin 回复日期:2003-03-24 22:29:47
<br>内容:我也遇到过这种情况<BR>你的cursor指定由问题<BR>当cursor指定是adOpenDynamic而不是adOpenStatic时就可以解决这个问题<BR>如:<BR>&nbsp;&nbsp;&nbsp;&nbsp;_variant_t vNull;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_bstr_t nsql;<BR>&nbsp;&nbsp;&nbsp;&nbsp;nsql=sql.GetBuffer(sql.GetLength()+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;sql.ReleaseBuffer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;vNull.vt=VT_ERROR;<BR>&nbsp;&nbsp;&nbsp;&nbsp;vNull.scode=DISP_E_PARAMNOTFOUND;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p_recordset-&gt;Open(_variant_t(nsql),vNull,adOpenDynamic,adLockOptimistic,adCmdText);<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>
回复者:qwh 回复日期:2003-03-25 20:49:12
<br>内容:非常感谢!<BR>但是我不明白:<BR>&nbsp;&nbsp;&nbsp;&nbsp;vNull.vt=VT_ERROR;<BR>&nbsp;&nbsp;&nbsp;&nbsp;vNull.scode=DISP_E_PARAMNOTFOUND;<BR>这是必须的吗?
<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 + -