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;
}