1. 程式人生 > >【Ado.Net】基礎知識+簡單例項

【Ado.Net】基礎知識+簡單例項

為什麼要學Ado.Net?

  作為程式設計師,我們一般都可以在Sql Server 的查詢分析器裡面檢視和操作資料庫中的資料。但是普通的使用者如果要檢視和操作資料庫中的資料,在查詢分析器裡面就不會了,我們不能讓普通團使用者去學Sql server吧。所以,我們搭建了一個介面(Web/Winform)讓使用者方便的操作資料庫中的資料,而Ado.Net在其中就起到了重要的作用。

什麼是Ado.Net?

  Ado.Net就是一組類庫,這組類庫可以讓我們通過程式的方式訪資料庫,就像System.IO下的類用類操作檔案一樣,System.Data這組類是用來操作資料庫(不僅是Sql Server),它提供了統一的程式設計介面讓操作其它資料庫(Access、Oracle等)的方式和操作Sql Server一致。

四個常用類?

  Connection(連線通道),用來連線資料庫;
  Command(命令物件),用來執行SQL語句(增刪改,查詢單個值);
  DataReader(資料讀取器), 只讀,只進的結果集,一條一條讀取資料;
  DataAdapter(資料介面卡),一個封裝了上面3個物件的物件;
  

這裡寫圖片描述

  簡單理解:應用程式在操作資料庫中的資料的時候,我們首先需要建立一個通道,所有的資料讀取和寫入都通過這個通道來進行,Connection類解決了通道的問題。有了通道,我們就要選擇操作了,是讀取還是寫入呢?這時候我們需要把我們的需求告訴給Command類。如果是增刪改,那麼Command會返回給你影響的行數。如果是讀取,那看你要讀取的內容了。讀取一個值,Command就可以完成。讀取多個值,就需要DataReader類了。以上的四個類都需要引用名稱空間System.Data.SqlClient。如果需要把查詢到的結果集本地化,就是把資料庫查詢之後的結果集從Sql伺服器取出來存到本地記憶體中,則需要引用名稱空間System.Data。下面我寫了一個簡單的登入,以供理解。如有問題,敬請斧正。

登入例項

        private void btnLogin_Click(object sender, EventArgs e)
        {
            string username=txtUserName.Text.Trim();
            string password=txtPassword.Text.Trim();
            if (txtUserName.Text=="")
            {
                MessageBox.Show("請輸入使用者名稱!","溫馨提示");
            }
            else
if (txtPassword.Text=="") { MessageBox.Show("請輸入密碼!", "溫馨提示"); } else { //1. 準備好通往資料庫的路,但是這條路還沒有修好 SqlConnection conn = new SqlConnection("server=.;database=Test;uid=sa;pwd=jujianfei"); //2. 準備一個命令物件 SqlCommand cmd = new SqlCommand(); //2.1 告訴命令物件要做的事情,就是sql語句 cmd.CommandText = "select UserName,Password from Login where UserName='" + username + "' And PassWord='" + password + "'"; //2.2 告訴命令物件,去資料庫的路 cmd.Connection = conn; //3. 開通道路,在命令物件執行命令之前才打開通道 conn.Open(); //4. 叫命令物件去幹活,返回查詢的結果集 SqlDataReader dr=cmd.ExecuteReader(); //dr的hasRows屬性為true,則表示有一行或多行資料;為false,則表示沒有查到資料 if (dr.HasRows) { MessageBox.Show("登入成功!", "溫馨提示"); } else { MessageBox.Show("登入失敗!", "溫馨提示"); } //關閉資料庫連線 conn.Close(); } }