两种不同的数据库的检索

来源:计算机等级考试    发布时间:2012-08-27    计算机等级考试视频    评论

  对数据库中的数据索引,有两种方式,即分别通过数据适配器DataAdapter或者数据阅读器DataReader将数据读取出来放在控件中显示出来或进行处理,一般DataReader配合DataCommand使用,主要是对DataReader实例化。

使用数据适配器DataAdapter读取数据示例:

protected void Button1_Click(object sender, EventArgs e)        {            string ConnectionString = "Data Source=localhost Integrated Security=SSPI;Database=student;connect Timeout=30;Pooling=true;";//使用windows登陆            SqlConnection conn = new SqlConnection(ConnectionString);//创建连接对象conn            SqlDataAdapter da=new SqlDataAdapter("select * from student-info",conn);//创建一个数据适配器对象da,用于读取student中的数据表student-info; DataSet ds = new DataSet();//创建数据集ds;  conn.Open();//打开连接            da.Fill(ds);//将检索中的数据填充到ds数据集中   conn.Close();//关闭连接this.ListBox1.DataSource = ds;//设置控件listbox1的数据源 this.ListBox1.DataTextField = "stud_name";//设置控件listbox要显示的文本this.ListBox1.DataBind();//通过databind方法将数据绑定到控件        }

使用数据适配器DataReader读取数据示例:

protected void Button2_Click(object sender, EventArgs e)        {            string ConnectionString = "Data Source=localhost Integrated Security=SSPI;Database=student;connect Timeout=30;Pooling=true;";//使用windows登陆SqlConnection conn = new SqlConnection(ConnectionString);//创建连接对象conn SqlCommand comm = new SqlCommand("select * from student-info", conn);//创建通用命令器对象comm,用于读取student中的数据表student-info;  conn.Open();//打开连接            SqlDataReader dr = comm.ExecuteReader();//通过实例化创建dr数据阅读器; this.ListBox2.DataSource = dr;//设置控件listbox1的数据源    this.ListBox2.DataTextField = "stud_name";//设置控件listbox要显示的文本this.ListBox2.DataBind();//通过databind方法将数据绑定到控件            conn.Close();        }

从以上两种不同的数据读取方式可以看出,DataAdapter用来读取数据时需要建立数据集来保存读取出来的 数据,而DataReader对数据进行检索时,采用的是单向数据流的形式读取数据,两者比较,由于DataAdapter不涉及数据结构的操作和处理,所以在读取数据速度时,要比DataAdapter快。

DataAdapter一般用于数据量比较小的数据库或其他形式的 数据源,DataReaderr用于数据量相对比较大的数据库,DataReaderr是顺序阅读,速度很快,据说要快30倍以上,但是DataReader读数据的时候是要占用连接的,而DataSet是不用的。

  编辑特别推荐:

  SQL服务器连接问题

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答