发布日期:2013-03-12 15:56 来源:周公 标签: ASP.net 对象
Command对象也称为数据库命令对象,Command对象主要执行包括添加、删除、修改及查询数据的操作的命令。也可以用来执行存储过程。用于执行存储过程时需要将Command对象的CommandType 属性设置为CommandType.StoredProcedure,默认情况下CommandType 属性为CommandType.Text,表示执行的是普通SQL语句。

Command主要有三个方法:

ExecuteNonQuery () :执行一个SQL语句,返回受影响的行数,这个方法主要用于执行对数据库执行增加、更新、删除操作,注意查询的时候不是调用这个方法。

ExecuteReader ():执行一个查询的SQL语句,返回一个DataReader对象。

ExecuteScalar ():从数据库检索单个值。这个方法主要用于统计操作。

有关ExecuteNonQuery ()和ExecuteReader ()的用法在稍后马上提到,这里我主要演示ExecuteScalar ()这个方法的用法。
请看下面的例子:


 
我们可以看到上面的SQL语句执行的结果是一行一列的结果集,ExecuteScalar ()这个方法就是针对这种情况的,这个方法只返回查询结果集的第一行第一列。
同样,因为这个页面的代码和设计部分非常简单,仍然采用的单页模式,代码如下:

01.<%@ Page Language="C#" %>
02.<%@ Import Namespace="System.Data.SqlClient" %>
03.<%@ Import Namespace="System.Data" %>
04.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
05.<script runat="server">
06.    protected void Page_Load(object sender, EventArgs e)
07.    {
08.        //实例化Connection对象
09.        SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa");
10.        //实例化Command对象
11.        SqlCommand command = new SqlCommand("select count(1) as 男性人数 from UserInfo where sex=1", connection);
12.        //打开Connection对象
13.        connection.Open();
14.        //执行SQL语句
15.        int count = int.Parse(command.ExecuteScalar().ToString());
16.        //关闭Connection对象
17.        connection.Close();
18.        Response.Write("在UserInfo表里共有" + count + "个男性。");
19.    }
20.</script>
21.<html xmlns="http://www.w3.org/1999/xhtml" >
22.<head runat="server">
23.    <title>无标题页</title>
24.</head>
25.<body>
26.    <form id="form1" runat="server">
27.    <div>
28.   
29.    </div>
30.    </form>
31.</body>
32.</html>

这个页面执行的结果如下:


 
在操作数据库的时候,为了提高性能,都遵循一个原则:数据库连接对象应该尽可能晚打开,尽可能早关闭。在上面的例子中,在Command对象需要执行数据库操作之前才打开数据库连接对象,执行数据库操作之后马上就关闭了数据库连接对象。希望初学者们记住这个原则。

 

相关评论

专题信息
    ASP.NET 是一种服务器端脚本技术,可以使(嵌入网页中的)脚本由 Internet 服务器执行。本教材是初学者的福音,十分的基础课程,0基础的都能学会制作自己的网站,非常好的学习教程。想学习ASP.net的爱好者可以从基础知识对象,控件,数据库这里开始吧。