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();

 

posted @ 2020-05-19 19:28  山君与见山  阅读(206)  评论(0编辑  收藏  举报