快速业务通道

ASP.NET 2.0中执行数据库操作命令之二

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
的SELECT语句各返回一个结果集。要读取第一个结果集的话,可以用SqlDataReader对象的Reader()方法。Reader()方法在没有其他的可读行时将返回一个false值。当一个结果集的所有记录都读取完毕后,可以调用SqlDataReader对象的NextResult()方法,然后在读取下一个结果集,在没有其他的结果集时,也返回一个false值。

提示:外循环do…while测试结尾的reader. NextResult()的返回值。由于do…while循环末尾检测这个条件,这样就保证了do…while循环至少执行一次。之所以在末尾才调用NextResult()方法,是因为这样可以首先把SqlDataReader对象移到下一个结果集,然后才返回表示是否还有下一个结果集的布尔结果。如果使用while循环中,则有可能直接跳过第一个结果集,从而产生错误。

ASP.NET 2.0中执行数据库操作命令之二

用ExecuteScalar()方法执行SELECT语句

用ExecuteScalar()方法执行SELECT语句,返回单个值,并且忽略其他的任何读取的结果。ExecuteScalar()方法返回的结果是一个object对象。ExecuteScalar()主要是用来执行SELECT语句,或者执行包括聚合函数的SQL语句。

下面我们将使用如下的程序读取Products表中的记录条数,并且在相应的查询语句中使用COUNT()聚合函数。

范例程序代码如下:

01 public partial class _Default : System.Web.UI.Page
02 {
03  protected void Page_Load(object sender, EventArgs e)
04  {
05   string connectionString =
06    ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
07   SqlConnection con = new SqlConnection(connectionString);
08   SqlCommand cmd = con.CreateCommand();
09   cmd.CommandText = "SELECT COUNT(*) FROM Products";
10   con.Open();
11   int returnValue = (int)cmd.ExecuteScalar();
12   HtmlContent.Text = "Products表中共有" + returnValue.ToString()+"条记录";
13  }
14 }

程序代码说明:在上述语法范例的程序代码中,第9行即为查询Products表中的记录条数的SQL语句。第11行代码用ExecuteScalar()方法执行SELECT语句。注意,由于ExecuteScalar()方法的结果为object对象,因此我们要将其进行强制类型转换,再赋予相应的变量。

执行结果:

ASP.NET 2.0中执行数据库操作命令之二

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号