使用ADO.NET查詢和操作數據
阿新 • • 發佈:2018-07-30
conn pwd all nbsp 程序 捕獲 final 異常 pub 一.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;
}
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;
}
使用ADO.NET查詢和操作數據