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

📄 subject_37241.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:37241 发表者:tcls 发表日期:2003-04-23 10:24:20
<br>主题:ODBC初学者求助:无法从数据库中Select数据??
<br>内容:<BR>以下程序运行结果总是:"用户登录出错" why? <BR>CRecSet *m_recordset=new CRecSet(&amp;m_database);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString strSQL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UpdateData(TRUE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;strSQL.Format("select * from user where userid='%s' and passwd='%s' ",m_user, m_pwd);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_recordset-&gt;Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(m_recordset-&gt;GetRecordCount()==0){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(count&lt;3){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox("用户登录出错!!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox("超过三次!!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_database.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnOK();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("用户名&amp;密码验证通过!!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_database.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnOK();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tcls 回复日期:2003-04-23 11:16:13
<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>回复者:金枪鱼 回复日期:2003-04-23 13:25:15
<br>内容:1、我不知到你的SQL语句是否正确,我习惯使用<BR>&nbsp;&nbsp; CString str_SQL=_T("Select* from user where userid='%")<BR>&nbsp;&nbsp; +m_user+_T("' and passed='%")+m_pwd+_T("'");<BR>2、记录集底打开<BR>&nbsp;&nbsp; m_recordset-&gt;Open(CRecordset::dynaset,strSQL,CRecordset::readOnly);<BR>打开语句后应该判断是否打开成功<BR>&nbsp;&nbsp; if(!m_recordset-&gt;IsOpen())<BR>{&nbsp;&nbsp;<BR>......<BR>}&nbsp;&nbsp;<BR>//打开成功后才进行操作<BR>&nbsp;&nbsp; if(m_recordset-&gt;IsOpen())<BR>{<BR>&nbsp;&nbsp;......<BR>}<BR>3、你用new分配了记录集底指针,你底程序没有进行关闭、销毁和避免野指针底处理,内存就这样泄漏了。<BR>&nbsp;&nbsp; if(m_recordset-&gt;IsOpen())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_recordset-&gt;Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete m_recordset;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_recordset=NULL;<BR>&nbsp;&nbsp; 
<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 + -