关于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();
|