DataReader存在的意义

DataReader存在的意义

     首先说明,本人菜鸟一枚。说的不准确的话请大家见谅了。

     ado.net中的存在DataReader和DataSet对象,在平时的工作中从来没有使用过DataReader对象。前天突然想起了DataReader对象。既然ado.net中有这个对象的存在,那么这个对象一定是有意义的。可是它到底有什么意义呢?

      要知道DataReader可以实现的功能DataSet都可以实现。而且因为DataReader对象是只读的并且每次只能读取一条数据。所以我首先想到的是可以在登录的时候使用DataReader。通过输入的用户名返回符合条件的密码和输入的密码相比较,如果一致则登陆成功,如果不一致则登录失败。因为Datareader是面向数据库连接的,所以在读取大量数据的时候DataReader的效率会比非面向数据库连接的DataAdapter+DataSet要高,那么大量数据需要显示,并且这些数据不需要修改的话,使用Datareader+DataTable的效率是不是会比DataSet作为数据源效率跟高呢。因为我手头上没有大量的数据因此没有测试。不过理论上来说DataReader的效率会更高一点。下面是源码

  

namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{

public Form1()
{

InitializeComponent();
DataSource();
}

 

public void DataSource()
{

string strCon = ConfigurationManager.AppSettings[“Connection2”].ToString();
string strCon2 = ConfigurationManager.ConnectionStrings[“Connection1”].ToString();
using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(strCon2))
{

using (System.Data.SqlClient.SqlCommand comm = conn.CreateCommand())
{

comm.CommandText = “select * from UserMessage”;
conn.Open();
#region DataReader作为数据源
using (SqlDataReader dr = comm.ExecuteReader())
{

DataTable tb = new DataTable();
tb.Load(dr);//将DataReader绑定到DataTable
dataGridView1.AutoGenerateColumns = false;
this.dataGridView1.DataSource = tb;
dataGridView1.Columns.Add(“ID”, “编号”);
dataGridView1.Columns.Add(“UserName”, “用户名”);
dataGridView1.Columns.Add(“PassWord”, “密码”);
dataGridView1.Columns[0].DataPropertyName = tb.Columns[0].ToString();
dataGridView1.Columns[1].DataPropertyName = tb.Columns[1].ToString();
dataGridView1.Columns[2].DataPropertyName = tb.Columns[2].ToString();
}
}
}
}

在园子里逛了快一年了这是第一次写博客。肯定写的不好,就请大家多多见谅了。

转载于:https://www.cnblogs.com/wigy/archive/2012/07/09/2582726.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110367.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css圆角边框怎么设置颜色_word图片怎么设置圆角大小

    css圆角边框怎么设置颜色_word图片怎么设置圆角大小总结起来很简单,设置css圆角边框就是设置border-radius的值,设置的数字不同,圆角的大小也不同。通过设计css圆角边框,我们就不需要再用带框的背景图片,这不仅让页面设计更加简单,同时也有利于提升页面加载的速度。本文给大家简单介绍下css圆角边框怎么设置,大家可以参考,也可以直接拿过去使用,当然要修改下具体的参数。上面的css代码,大家可以直接拿去用,至于像15px、50px等这些数据,大家可以通过测试看看具体需要多大数字,这里给出的数字只是参考。圆角边框的最基本用法就是设置四个相同弧度的圆角。.

    2022年10月23日
  • linux重命名文件名_linux 文件重命名

    linux重命名文件名_linux 文件重命名https://blog.csdn.net/weixin_33724570/article/details/91909917https://blog.csdn.net/csdnnews/article/details/87927567https://blog.csdn.net/weixin_34329187/article/details/93004715https://blog…

    2022年9月10日
  • 一文搞懂三极管开关电路,基极电阻如何选择?[通俗易懂]

    一文搞懂三极管开关电路,基极电阻如何选择?[通俗易懂]一文搞懂三极管开关电路,基极电阻如何选择?

    2022年9月2日
  • geostudio渗流教程_曲面静水压力计算

    geostudio渗流教程_曲面静水压力计算大家好,我是小马老师。本文继续介绍lammps模拟薄膜过滤的案例代码。在前面推文中,已经介绍了模型的建模过程。薄膜建模方法模型经过minimize能量最小化之后,进入弛豫阶段。因弛豫阶段代码较长,不再一一介绍各部分代码的功能,仅对代码中的几个比较重要的功能进行详细介绍。(1)薄膜固定及活塞墙的加压控制在模拟过程中,过滤薄膜不能移动,使用fixsetforce命令对其进行固定。fix mysf1membranesetforce000活塞墙在y、z方向需要固定,在x方向允许移动

    2022年9月6日
  • springboot mybatis项目搭建_idea配置javaweb开发环境

    springboot mybatis项目搭建_idea配置javaweb开发环境利用IDEA搭建SpringBoot项目,整合mybatis,实现简单的登录功能。利用闲余时间想自己搭建一个springboot+mybatis的项目,提升一下自己对项目的了解,毕竟自己还是一个小白,在这里为自己创建项目的过程做一个记录,以便以后回忆。同时将搭建中遇到的问题也在这里做记录。如有遇到同样问题的同学,希望能给你一下借鉴。springboot的优势之一…

    2022年9月12日
  • php格式怎么转换为pdf,PHP如何将将word文件转为pdf

    php格式怎么转换为pdf,PHP如何将将word文件转为pdfPHP将word文件转为pdf的方法:首先修改【php.ini】,并重启环境;然后安装微软office套件;最后配置office组件服务即可。PHP将word文件转为pdf的方法:1、修改php.ini添加:extension=php_com_dotnet.dll去除注释:com.allow_dcom=true重启环境相关学习推荐:php编程(视频)2、配置office支持(1)安装微软off…

    2022年5月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号