教学体会: ADO.NET的连接式和断开式

发表于:2007-06-30来源:作者:点击数: 标签:
关于ADO.NET的书籍和文章很多,在这里主要使用在我教学中给学生做演示的两个小例子,来比较ADO.NET的连接式和断开式, 程序员 一般不喜欢说教,下面就以代码说话: 连接式: SqlConnection sql Conn=new SqlConnection("server=.;database=pubs;user id=sa;pas
     关于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();
  
  

原文转自:http://www.ltesting.net