教学体会: ADO.NET的连接式和断开式
发布时间:2006-10-14 3:06:53   收集提供:gaoqian

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


 

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50