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

📄 单独使用crecordset .htm

📁 数据库编程技巧文章
💻 HTM
字号:
<HTML>
<HEAD>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
<meta HTTP-EQUIV='Expires' CONTENT=0>
<link rel='stylesheet' href='../../../../news.css'>
<style type='text/css'>
.fst{padding:0px 15px;width:770px;background:#eeeecc;border-left:1px solid #000000;border-right:1px solid #000000}
.fstdiv3 img{border:0px;border-right:8px solid #eeeecc;border-top:6px solid #eeeecc}
</style>
<title>
单独使用CRecordSet
</title>
</HEAD>
<BODY aLink=#990000 bgColor=#ffffff bottomMargin=0 leftMargin=0  rightMargin=0 topMargin=0  marginwidth=0 marginheight=0>
<center>

<TABLE align=center bgColor=#cccc99 border=0 cellPadding=2 cellSpacing=0  width=770>
<TBODY>
<TR>
<TH align=left >
单独使用CRecordSet
&nbsp;&nbsp;&nbsp;
</TH>
</TD></TR>
</TBODY></TABLE>
<TABLE align=center bgColor=#eeeecc border=1 cellPadding=1 cellSpacing=0  width=770>
<TBODY>
<TR><TD colSpan=5 >&nbsp;
<a href='http://www.csdn.net'>中国软件开发网络</a>
-->
<a href='http://www.csdn.net/develop'>开发图书馆</a>
-->
<a href='http://www.csdn.net\develop\list_article.asp?lib=1&bigclassid=
1
'>
Visual C++
</a>
-->
<a href='http://www.csdn.net\develop\list_article.asp?lib=1&bigclassid=
1
&smallclassid=
107
'>
数据库操作
</a>
-->
<a href='
http://www.csdn.net/develop/library/vc/datebase/283.shtm
'>
单独使用CRecordSet
</a>
</TD></tr>
<TR>
<TD align=left   width=300>
<B>关键字:</B><BR>
单独使用CRecordSet
</TD>
<TD align=middle   width=120>
<B>贴文时间</B><br>
2000-8-6 14:05:04
</TD>
<TD align=middle   width=80>
<B>文章类型: </B><BR>
原作
</TD>
<TD align=middle   width=100>
<B>给贴子投票 </B>
<BR><a href='http://www.csdn.net/develop/addscore.asp?id=
283
'>投票</a>
</TD></TR>
<TR>
<TD >
&nbsp;
vchelpdev
&nbsp;&nbsp;
原作
</TD>
<TD   colSpan=3 vAlign=top>
<B>出处: </B><A href='

'>

</A></TD></TR>
<TR><TD  colSpan=5 bgcolor=#cccc99>&nbsp;</TD></TR>
</TD></TR></TBODY></TABLE>
<div align=center><div class=fst align=left><div class=fstdiv3 id=print2>
<br><br>闻怡洋 <a href=mailto:wyy_cq@21cn.com><font class=engul>wyy_cq@21cn.com</font></a> <a href=http://www.vchelp.net><font class=engul>http://www.vchelp.net/</font></a>

<p>一般情况下appwizard会在数据库应用程序中自动产生crecordset的派生类,并将派生类和某个数据源中的表联系起来也可以和视图上的子窗口联系起来。但是有时这样做会影响到程序的灵活性,这时候我们可以单独使用crecordset类。利用crecordset类我们可以执行sql语句,并可以读出结果集中数据。</p>
<p>首先我们需要包含头文件afxdb.h,可以将#include <afxdb.h>添加到stdafx.h文件中。此外在使用crecordset时必须有一个又一个cdatabase对象,该对象的作用是管理数据源连接。然后可以产生一个crecordset对象,利用bool crecordset::open( uint nopentype = afx_db_use_default_type, lpctstr lpszsql = null, dword dwoptions = none )可以执行sql语句。</p>
<p>但执行成功后,可以调用以下的函数滚动光标,读取数据。
<table border=1 width=90% align=center>
<tr><td>movefirst</td><td>移动光标到第一条记录处</td></tr>
<tr><td>movenext</td><td>移动光标到后一条记录处</td></tr>
<tr><td>moveprev</td><td>移动光标到前一条记录处</td></tr>
<tr><td>movelast</td><td>移动光标到最后一条记录处</td></tr>
<tr><td>isbof</td><td>检测光标是否在第一条记录上</td></tr>
<tr><td>iseof</td><td>检测光标是否在最后一条记录上</td></tr>
<tr><td>getfieldvalue</td><td>得到结果中数据</td></tr>
</table>
下面是具体代码:
<pre>
/*
假设cdatabase m_dbconn为成员变量
假设有一个表有如下sql语句产生:create table table1(loc_id not null)
*/
void cyourclass::connecttodb()
{//连接数据库
	bool fok = m_dbconn.open("test");
	trace("connect fok=%d\n",m_dbconn);
}

void cyourclass::select()
{//执行select语句
	crecordset rec(&m_dbconn);
	bool fok = rec.open(crecordset::forwardonly,"select loc_id from table1 order by loc_id");
	trace("select fok = %d\n",fok);
	trace("返回的列数为:%d\n",rec.getrowsetsize());
	cstring szresult;
	while(!rec.iseof())
	{
		rec.getfieldvalue((int)0,szresult);
		rec.movenext();
		trace("fetch : %s\n",szresult);
	}
}
</pre>
</p>
<p>此外crecordset::getfieldvalue有很多种原型,你可以通过指定列位置或是字段名来获取数据:</p>
<p>
void getfieldvalue( lpctstr <i>lpszname</i>, cdbvariant&amp; <i>varvalue</i>, short <i>nfieldtype</i> = default_field_type );<br>
<br>
void getfieldvalue( short <i>nindex</i>, cdbvariant&amp; <i>varvalue</i>, short <i>nfieldtype</i> = default_field_type );<br>
<br>
void getfieldvalue( lpctstr <i>lpszname</i>, cstring&amp; <i>strvalue</i> );<br>
<br>
void getfieldvalue( short <i>nindex</i>, cstring&amp; <i>strvalue</i> );<br>
</p>
<p>如果使用cdbvariant类型变量来获取结果,你可以得到任何类型的结果。在cdbvariant::m_dwtype成员变量中记录了该变量所包含的数据类型,根据该变量的值你可以确定数据类型并引用cdbvariant对象中的相应成员变量。</p><br><br>
</DIV></div></div>
<script src='../../../get_readnum.asp?id=
283
'></script>
</center></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -