【Ado.Net】基礎知識+簡單例項
阿新 • • 發佈:2019-01-30
為什麼要學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();
}
}