ado|斷開
關於ADO.NET的書籍和文章很多,在這裡主要使用在我教學中給學生做示範的兩個小例子,來比較ADO.NET的串連式和斷開式,程式員一般不喜歡說教,下面就以代碼說話:
串連式:
SqlConnection sqlConn=new SqlConnection("server=.;database=pubs;user id=sa;password=;");
SqlCommand sqlComm=new SqlCommand("select * from authors",sqlConn);
//操作在開啟和斷開資料庫之間
sqlConn.Open();
SqlDataReader dr=sqlComm.ExcuteReader();
while(dr.Read())
{
for (int i=0; i<dr.FieldCount; i++)
{
Console.Write(dr.GetValue(i).ToString()+" ");
}
Console.WriteLine();
}
dr.Close();
sqlConn.Close();
斷開式
SqlConnection sqlConn=new SqlConnection("server=.;database=pubs;user id=sa;password=;");
SqlDataAdapter adapter=new SqlDataAdapter("select * from authors",sqlConn);
//用來自動生產更新命令
SqlCommandBuilder cb=new SqlCommandBuilder(adapter);
sqlConn.Open();
DataSet ds=new DataSet();
adapter.Fill(ds);
sqlConn.Close();
//處理資料在開啟和關閉之後
for (int i=0; i<ds.Tables[0].Rows.Count; i++)
{
for (int j=0; j<ds.Tables[0].Columns.Count; j++
{
Console.Write(ds.Tables[0].Rows[i][j]+" ");
}
Console.WriteLine();
}
//更改資料
ds.Tables[0].Rows[0][1]="A";
ds.Tables[0].Rows[1].Delete();
//更新資料庫
sqlConn.Open();
adapter.Update(ds);
sqlConn.Close();