.NET中DataReader与DataSet访问SqlServer数据库(C#)
来源:互联网 发布:qq农场刷金币软件 编辑:程序博客网 时间:2024/06/04 19:02
首先呢,通过阐述DataSet与DataReader为用户查询数据库的过程,来看一下它们之间的区别
DataSet:
1.创建DataAdapter对象
2.定义DataSet对象
3.执行DataAdapter对象的Fill方法
4.将DataSet中的表绑定到数据控件中
//利用WebConfig配置文件,获取一个Connection对象 public SqlConnection GetConnection() { string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString(); SqlConnection myConn = new SqlConnection(myStr); return myConn; } //简单的数据获取,连接数据库显示所有的信息 protected void bind() { SqlConnection myConn = GetConnection(); myConn.Open(); string sqlStr = "select * from tb_Class "; SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn); DataSet myDs = new DataSet(); myDa.Fill(myDs); GridView1.DataSource = myDs; //指定GridView控件绑定的主键字段 GridView1.DataKeyNames = new string[] { "ID" }; GridView1.DataBind(); myDa.Dispose(); myDs.Dispose(); myConn.Close(); }
DataReader:
1.创建链接
2.打开链接
3.创建Command对象
4.执行Command的ExecuteReader方法
5.将DataReader绑定到数据控件中去
6.关闭DataReader
7.关闭连接
SqlConnection myConn = GetConnection(); string sqlStr = "select * from tb_News "; SqlCommand myCmd = new SqlCommand(sqlStr, myConn); myCmd.CommandType = CommandType.Text; try { //打开数据库连接 myConn.Open(); //执行SQL语句,并返回DataReader对象 SqlDataReader myDr = myCmd.ExecuteReader(); //以粗体显示标题 this.labMessage.Text = "序号 新闻内容<br>"; //循环读取结果集 while (myDr.Read()) { //读取数据库中的信息并显示在界面中 this.labMessage.Text += myDr["NewsID"] + " " + myDr["NewsContent"] + "<br>"; } //关闭DataReader myDr.Close(); } catch(SqlException ex) { //异常处理 Response.Write(ex.ToString()); } finally { //关闭数据库的连接 myConn.Close(); }
一般来讲呢,遇到以下的情况时,建议使用DataSet:
1.结果中有多个分离的表
2.来自多个源的数据
3.层之间交换数据或使用XML Web服务
4.缓冲重复使用相同的行集合以提高性能
5.对数据执行大量的处理,而不需要与数据源保持打开的连接,从而将该连接释放给其它客户端使用
6.提供关系数据的分层XML视图并使用XSL转换或XML路径与查询等工具来处理数据
然后下面的三种情况,建议使用DataReader:
1.需要缓冲数据
2.正在处理的结果集太大而不能全部放入内存中
3.需要迅速,一次性的访问数据,且采用只向前的只读方式
啦啦啦,最近由于工作需要,娴娴正在学习.NET,这些都是笔记啦,放在这里大家也可以参考一下~
今天的鸡汤是,坚持你向往的,时间会给你的惊喜。
- .NET中DataReader与DataSet访问SqlServer数据库(C#)
- ADO.NET中的DataReader与DataSet
- ADO.net之DataSet与DataReader
- .net 中 dataset和datareader的区别
- dataset 与datareader 的区别(整理)
- DataReader与DataSet区别
- dataset与DataReader
- DataReader与DataSet区别
- dataReader 与dataSet
- DataReader与DataSet
- DataReader与DataSet
- ASP.NET遇到问题---Datareader访问数据库
- ADO.NET技术简介(二)获取数据库数据DataAdapter、DataReader、DataSet
- DataSet与DataReader的区别
- DataReader与DataSet的区别
- DataSet与 DataTable 和 DataReader
- DataReader与DataSet的区别
- DataSet与DataTable.DataReader区别
- 后台定位上传的代码实践
- MyBatis学习总结(13)——Mybatis查询之resultMap和resultType区别
- DEMO12-2 alpha混合
- IdHTTP代理设置
- linux增加虚拟内存
- .NET中DataReader与DataSet访问SqlServer数据库(C#)
- C++编程需要掌握的几类技能
- Mac OS X El Capitan 全新安装记录
- CSS背景设置
- log4j日志
- 01串排序
- jdbc,关闭连接工具类
- ArcGIS教程:样条函数法的工作原理
- Python IDLE 清屏