C#可视化程序设计第二章(3,4)
1.Command 对象
1)1.command对象介绍
Command对象用于执行SQL命令,对数据库中的数据进行增、删、改、查和执行聚合函数。
在操作过程中,必须保持应用程序和数据库之间的连接。
,NET Framework
数据提供程序对应的Comnd类
Command对象常用属性
Command对象的常用方法
使用Command对象执行命令
语法:SqlConnection 命令对象名=new SqlConnection("SQL语句","Connection对象")
string conster = "server=.;database=GMP;uid=sa;pwd=985199"; //创建连接对象 SqlConnection conn = new SqlConnection(conster); conn.Open(); if (conn.State == System.Data.ConnectionState.Open) { Console.WriteLine("输入地址"); string address = Console.ReadLine(); Console.WriteLine("输入姓名"); string name = Console.ReadLine(); string sql = string.Format("update Users set address='{0}' where Name='{1}'",address,name);//string.Format格式化字符串 //创建命令对象 SqlCommand cmd = new SqlCommand(sql, conn);//根据conn执行sql int i = cmd.ExecuteNonQuery();//返回受影响的行数 if (i>0) { Console.WriteLine("受影响"); } } else { Console.WriteLine("失败"); } conn.Close();
2.DataReader 对象
DataReader对象是数据读取对象,它提供了-个只读只进的数据读取器,用于从查询结果中读取数据,
它每次只能读取- -行数据,井且在读取过程中,必须保持连接处于打开状态。
.NET Framework数据提供程序中的DataReader类
DataReader对象的常用属性
DataReader对象的常用方法
返回DataReader对象语法:
SqlDataReader数据读取对象=命令对象ExecuteReader();
使用循环:
while(教据读取对象.Read0) {
Obiect 某列的值=数据读取对象[“索引或列名”];
}
关闭连接:数据读取对象.Close();
string constr = "server=.;database=huawei;uid=sa;pwd=985199";//连接字符串 SqlConnection conn = new SqlConnection(constr);//根据连接字符串创建连接 conn.Open();//打开连接 if (conn.State == System.Data.ConnectionState.Open) { string sql = "select Name,Gender,Birthday from emp"; //创建command对象(命令对象) SqlCommand cmd = new SqlCommand(sql,conn); //执行sql命令,返回DataReader对象 SqlDataReader reader = cmd.ExecuteReader(); //使用while来循环使用sqldarareader对象,逐句 Console.WriteLine("姓名\t性别\t生日"); Console.WriteLine("-----------------------------------------"); while (reader.Read()) { /* string name = reader["Name"].ToString(); string gender = reader["Gender"].ToString(); string birthday = reader["Birthday"].ToString(); Console.WriteLine("{0}\t{1}\t{2}",name,gender,birthday); */ //第二中写法 Console.WriteLine("{0}\t{1}\t{2}",reader["Name"],reader["Gender"],reader["Birthday"]); } reader.Close(); } else { Console.WriteLine("没有连上"); } conn.Close();
3.Command 对象执行聚合函数
步骤:
1)创建Connection对象
2)打开数据库连接
3)定义需要执行的SQL语句
4)创建Command对象
5)执行SQL语句,返回结果集的首行首列
(语法:Objcet结果集中首行首列的值=命令对象,ExecutcScalat() ;)
6)关闭数据库
string constr = "server=.;database=huawei;uid=sa;pwd=985199";//连接字符串 SqlConnection conn = new SqlConnection(constr);//根据连接字符串创建连接 conn.Open();//打开连接 if (conn.State == System.Data.ConnectionState.Open) { //统计个数 string countSql = "select count(*) from emp"; //创建command 对象(命令对象) SqlCommand countcmd = new SqlCommand(countSql, conn); //执行SQL命令返回object类型 string count = countcmd.ExecuteScalar().ToString(); //增删改 ExecuteNonQueryl,查询 ExecuteReader,聚合函数 ExecuteScalar Console.WriteLine("数目" + count); } else { Console.WriteLine("没有连上"); } conn.Close();