ASP.NET Command 对象
ASP.NET Command 对象
建立数据连接以后,利用 Command 对象来执行命令并从数据源返回结果。Command 对象常用的构造函数包括两个参数,1 个是要执行的 SQL 语句,另一个是已经建立的 Connnection 对象
基本语法:
OleDbCommand Comm=new OleDbCommand("select * from grade",Conn);
Command对象比较常用Command对象的方法有,ExecuteReader()方法,ExecuteScalar() 方法和 ExecuteNonQuery()方法,这些方法主要用来执行 SQL 语句。
ExecuteReader 方法
ExecuteReader 方法将返回一个 DataReader 对象。DataReader 对象是一个仅向前的只读的数据流。主要用来执行基本 SQL 查询语句,要求 SQL 语句返回记录集。
<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { OleDbConnection Conn=new OleDbConnection(); Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("person.mdb"); Conn.Open(); OleDbCommand Comm=new OleDbCommand("select * from grade",Conn); OleDbDataReader dr=Comm.ExecuteReader(); dg.DataSource=dr; dg.DataBind(); Conn.Close(); } </script> <asp:DataGrid id="dg" runat="server" />
程序执行完毕将返回结果集,绑定到一个 DataGrid 对象上,然后利用 DataGrid 将结果输出到浏览器上
利用 ExecuteReader 方法可以执行带条件的 Select 语句,比如:Where 子句,Like 子句都可以利用 ExecuteReader执行
ExecuteScalar方法
ExecuteScalar 方法返回单个值,用来执行聚合函数。
<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { OleDbConnection Conn=new OleDbConnection(); Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("person.mdb"); Conn.Open(); String strSQL="select avg(数学) from grade"; OleDbCommand Comm=new OleDbCommand(strSQL,Conn); Double d=(Double)Comm.ExecuteScalar(); Message.Text="所有人数学的平均成绩为"+d.ToString()+"分"; Conn.Close(); } </script> <asp:Label id="Message" runat="server" />
程序计算出所有人数学的平均分,然后将它显示到浏览器上
ExecuteNonQuery方法
ExcuteNonQuery 方法用于执行不需要返回结果的命令
<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { OleDbConnection Conn=new OleDbConnection(); Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("person.mdb"); Conn.Open(); String strSQL="insert into grade (学号,姓名,数学) values (99,'小张',100)"; OleDbCommand Comm=new OleDbCommand(strSQL,Conn); Comm.ExecuteNonQuery(); Conn.Close(); Response.Write("操作成功!"); } </script>
程序向数据库中添加一条记录