C#可視化程序設計第二章(3,4)

1.Command 對象

1)1.command對象介紹sql

Command對象用於執行SQL命令,對數據庫中的數據進行增、刪、改、查和執行聚合函數。數據庫

在操做過程當中,必須保持應用程序和數據庫之間的鏈接。函數

,NET Framework
數據提供程序對應的Comnd類ui

 

Command對象經常使用屬性 spa

 

 

 Command對象的經常使用方法3d

 

 

 使用Command對象執行命令code

 

 

語法:SqlConnection 命令對象名=new SqlConnection("SQL語句","Connection對象")orm

 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 對象server

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();
相關文章
相關標籤/搜索