每次程序执行命令时,都要将相应的命令通过网络传递到数据库中,并在数据库进行执行,然后将结果返回到程序中,从而产生大量的网络通信流。我们可以使用ExecuteReader()方法同时执行多条SELECT语句查询减少重复的数据传递。
下面的实例是使用ExecuteReader()方法同时查询三个表中的数据,并将返回的三个结果集显示在页面上。
范例程序代码如下:
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对象,因此我们要将其进行强制类型转换,再赋予相应的变量。
执行结果: