1. 程式人生 > >ADO.NET訪問資料庫

ADO.NET訪問資料庫

一.ADO.NET :用於連線資料庫的技術

1.ADO.NET分為兩大元件

DataSet:資料集

.NET FRAMWORK :用於連線到資料庫,傳送命令,檢索結果

2.ADO.NET四大核心物件
Connection
Command
DataAdapter
DataReader

二.使用ADO.NET訪問資料庫

1.首先匯入名稱空間System.Data.SqlClient

2.建立連線字串

String constr="Data Source=.;Initial Catalog=SchoolDB;User=sa;Password=.";
如果沒有密碼password引數可以省略

3.建立SqlConnection連線物件

SqlConnection con=new SqlConnection(constr);

4.開啟資料庫連線

con.Open();

在使用資料庫之前要保證資料庫連線是開啟的

con.Close();

使用完資料庫之後要關閉連線,釋放資源

三.捕獲異常

try{
//將可能會發生異常的程式碼放入到try中

}catch(異常型別)
//如果try塊發生異常,並且異常型別和catch塊所捕獲的異常型別相匹配,那麼會執行catch
{

}finally{
//無論任何情況都會走到finally塊
}
捕獲異常可以將異常捕獲到,而不會導致程式的停止

四.向資料庫傳送命令

1.建立SQL語句

String sql="select count(*) from Student Where StudentName='"+username+"' and Password='"+Password+"'";

2.使用Command物件傳送SQL命令

SqlCommand com=new SqlCommand(sql,con);

3.接收命令執行結果

int count=(int)com.ExecuteScalar();

ExecuteNonQuery() 執行不返回行的語句,如UPDATE等
ExecuteReader() 返回DataReader物件
ExecuteScalar() 返回單個值,如執行帶COUNT(*)的SQL語句

4.登入案例

public bool ValidateUser() {
bool falg=true;
String constr = "Data Source=.;Initial Catalog=SchoolDB;User=sa;Password=.";
SqlConnection con = new SqlConnection(constr);
try
{
//開啟連線
con.Open();
Console.WriteLine("請輸入使用者名稱:");
string username=Console.ReadLine();
Console.WriteLine("請輸入密碼:");
string password = Console.ReadLine();
//1.編寫SQL
string sql = "select count(*) from Student where StudentName='"+username+"' and LoginPwd='"+password+"'";
//2.建立Command物件
SqlCommand com = new SqlCommand(sql,con);
int count=(int)com.ExecuteScalar();
if (count > 0)
{
}
else {
falg = false;
}
}
catch (Exception e)
{
Console.WriteLine(e);

}
finally {
con.Close();
}
return falg;
}