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

📄 23-1.cfm.htm

📁 最全的asp.net教程,对现在正在学.net的学生有很好的辅助效果
💻 HTM
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>用记录集显示记录</TITLE>
</HEAD>
<BODY>

<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">用记录集显示记录</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">记录集可以用来代表表中的记录。与表一样,一个记录集包含一条或多条记录(行),每个记录包括一个或多个域(字段)。在任何时刻,只有一条记录是当前记录。</P>
<P ALIGN="JUSTIFY">要创建记录集对象的一个实例,你可以使用连接对象的Execute()方法。当你用Execute()方法从一个数据库返回查询结果时,一个记录集对象会被自动创建。这里有一个例子:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">Set MyConn=Sever.CreateObject(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>ADODB.Connection</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">MyConn.Open </FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>FILEDSN=d:\Program Files\</P>
<P ALIGN="JUSTIFY">             Common Files\ODBC\Data Sources\MyData.dsn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3> </P>
<P ALIGN="JUSTIFY">Set RS=MyConn.Execute(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>SELECT * FROM Mytable</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">RS.Close</P>
<P ALIGN="JUSTIFY">MyConn.Close</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">在这个例子中,使用一个SQL SELECT语句从一个表Mytable中返回了所有的记录。Execute()方法返回一个记录集。在这个脚本中,该记录集被分配给变量RS,然后关闭了这个记录集。最后,关闭与数据库的连接。</P>
<P ALIGN="JUSTIFY">记录集中的每一条记录都对应于表Mytable中的一条记录。要显示记录集中的所有记录,你只要简单地做一个循环就可以,如下例所示:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">Set MyConn=Sever.CreateObject(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>ADODB.Connection</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">MyConn.Open </FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>FILEDSN=d:\Program Files\</P>
<P ALIGN="JUSTIFY">             Common Files\ODBC\Data Sources\MyData.dsn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3> </P>
<P ALIGN="JUSTIFY">Set RS=MyConn.Execute(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>SELECT * FROM Mytable</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">WHILE NOT RS.EOF</P>
<P ALIGN="JUSTIFY">    Response.Write(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>&lt;BR&gt;</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>&amp;RS(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Mycolumn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>))</P>
<P ALIGN="JUSTIFY">    RS.MoveNext</P>
<P ALIGN="JUSTIFY">WEND</P>
<P ALIGN="JUSTIFY">RS.Close</P>
<P ALIGN="JUSTIFY">MyConn.Close</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">在这个例子中,WHILE</FONT><FONT FACE="Playbill,Courier New" SIZE=3>……</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>WEND循环用来扫描记录集RS中的每一条记录,把每个记录的Mycolumn域输出到浏览器。这段脚本显示了表Mytable中的所有记录。</P>
<P ALIGN="JUSTIFY">当一个记录集对象中收集了数据时,当前记录总是第一条记录。在上面的例子中,调用了记录集对象的MoveNext方法,使当前记录移到下一条记录。当所有的记录都显示完时,记录集对象的EOF属性的值将变为true,从而退出WHILE</FONT><FONT FACE="Playbill,Courier New" SIZE=3>……</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>WEND循环。</P>
<P ALIGN="JUSTIFY">一个记录集对象有一个域集合,包含一个或多个域对象。一个域对象代表表中的一个特定的字段。例如,在上面的脚本中,使用了表达式RS(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Mycolumn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)来显示字段Mycolumn。实际上,你可以通过许多中途径显示一个字段的值。下面的每一个表达式都可以显示字段Mycolumn的值:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">RS(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Mycolumn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">RS(0)</P>
<P ALIGN="JUSTIFY">RS.Fields(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Mycolumn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">RS.Fields(0)</P>
<P ALIGN="JUSTIFY">RS.Fields.Item(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Mycolumn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">RS.Fields.Item(0)</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">注意你既可以通过字段名,也可以通过顺序号来指定一个字段。例如,你可以使用RS(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Mycolumn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)或RS(0)来代表字段Mycolumn.两种方法起到同样的效果,因为字段Mycolumn对应于表中的第一个字段(第一个字段的顺序号是0)。</P>
<P ALIGN="JUSTIFY">当你不知道一个记录集中的字段名时,通过顺序号指定一个域是有用处的。例如,下面的ASP脚本显示了一个表中的所有记录的所有字段(见图23.1):</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;HTML&gt;</P>
<P ALIGN="JUSTIFY">&lt;HEAD&gt;&lt;TITLE&gt;Show All Rows And Columns&lt;/TITLE&gt;&lt;/HEAD&gt;</P>
<P ALIGN="JUSTIFY">&lt;BODY&gt;</P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">Set MyConn=Sever.CerateObject(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>ADODB.Connection</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">MyConn.Open </FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>FILEDSN=d:\Program Files\</P>
<P ALIGN="JUSTIFY">             Common Files\ODBC\Data Source\MyData.dsn</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">Set RS=MyConn.Execute(</FONT><FONT FACE="Playbill,Courier New" SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>SELECT * FROM Mytable</FONT><FONT FACE="Playbill,Courier New" SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<P ALIGN="JUSTIFY">&lt;TABLE BORDER=1&gt;</P>
<P ALIGN="JUSTIFY">&lt;TR&gt;</P>
<P ALIGN="JUSTIFY">&lt;% FOR i=0 to RS.Fields.Count-1 %&gt;</P>
<P ALIGN="JUSTIFY">     &lt;TH&gt;&lt;% =RS(i).Name *&gt;&lt;/TH&gt;</P>
<P ALIGN="JUSTIFY">&lt;% Next %&gt;</P>
<P ALIGN="JUSTIFY">&lt;/TR&gt;</P>
<P ALIGN="JUSTIFY">&lt;% While Not RS.EOF %&gt;</P>
<P ALIGN="JUSTIFY">&lt;TR&gt;</P>
<P ALIGN="JUSTIFY">&lt;% FOR i=0 TO RS.Fields.Count-1 %&gt;</P>
<P ALIGN="JUSTIFY">    &lt;TD&gt;&lt;% = RS(i) %&gt;&lt;/TD&gt;</P>
<P ALIGN="JUSTIFY">&lt;% Next %&gt;</P>
<P ALIGN="JUSTIFY">&lt;/TR&gt;</P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">RS.MoveNext</P>
<P ALIGN="JUSTIFY">WEND</P>
<P ALIGN="JUSTIFY">RS.Close</P>
<P ALIGN="JUSTIFY">MyConn.Close</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<P ALIGN="JUSTIFY">&lt;/TABLE&gt;</P>
<P ALIGN="JUSTIFY">&lt;/BODY&gt;</P>
<P ALIGN="JUSTIFY">&lt;/HTML&gt;</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">图23.1  显示一个数据表中的所有的记录</P>
</B><P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">在这个例子中,域集合的Count属性用来返回该记录集中的域的数目。Name属性用来返回每个域的名字。两个FOR</FONT><FONT FACE="Playbill,Courier New" SIZE=3>……</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>NEXT循环用来对记录集中的所有字段进行操作。不论表中有多少记录和字段,它们将被全部显示。</P></FONT></BODY>
</HTML>

⌨️ 快捷键说明

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