Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/9 1:35:24 ADO.NET链接数据库DataReader对象应用实例
ADO.NET链接数据库DataReader对象应用实例
DataReader对象DataReader对象是一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。DataReader对象只允许以只读、从上而下不可逆的方式查看其中所存储的数据,提供一个非常有效率的数据查看模式,同时DataReader对象还是一种非常节省资源的数据对象。注意:每次打开一个新对象,必须关闭前一个DataReader对象,因为它是以独占式与数据库交互。否则,会接收到其产生的异常。DataReader对象可通过Command对象的ExecuteReader方法从数据源中检索数据来创建。下面介绍该对象的常用属性和方法。DataReader对象常用属性及说明如表1所示。表1 DataReader对象常用属性及说明(1)FieldCount属性。获取当前行中的列数。语法:public override int FieldCount { get; }属性值:如果未放在有效的记录集中,则为0;否则为当前行中的列数。默认值为-1。示例获取DataReader对象中有几行数据,程序代码如下:Int Num=Datareader.FieldCount;(2)RecordsAffected属性。获取执行Transact-SQL语句所更改、插入或删除的行数。语法:public override int RecordsAffected { get; }属性值:已更改、插入或删除的行数;如果没有任何行受到影响或语句失败,则为0,直到读取了所有行并关闭SqlDataReader对象时,才会设置RecordsAffected属性。该属性的值是累积值。例如,如果以批处理模式插入3个记录,则RecordsAffected属性的值将为3。DataReader对象常用方法及说明如表2所示。表2 DataReader对象常用方法及说明示例SqlDataReader对象的使用首先声明SqlDataReader类的一个新对象drNew,然后通过调用SqlCommand类的ExecuteReader方法实例化对象drNew,最后将对象drNew内的信息循环的显示给用户。程序代码如下:private void DataReaderExp(){SqlConnection conn = new SqlConnection();conn.ConnectionString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=db_showHouse";conn.Open();qlCommandcmd = new SqlCommand("select User_names from tb_User", conn);SqlDataReader drNew = cmd.ExecuteReader();if (drNew.HasRows){while (drNew.Read()){MessageBox.Show(drNew[0].ToString());}}drNew.Close();}完整程序代码如下:★ ★★★★Program.cs主程序文件完整程序代码★★★★★using System;using System.Collections.Generic;using System.Windows.Forms;namespace _1_03{static class Program{/// /// 应用程序的主入口点。/// [STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}}}★ ★★★★Form1.cs窗体代码文件完整程序代码★★★★★using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace _1_03{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){DataReaderExp();}private void DataReaderExp(){SqlConnection conn = new SqlConnection();conn.ConnectionString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=DB_ADONET";conn.Open();SqlCommand cmd = new SqlCommand("select tb_PID from New_TClass", conn);SqlDataReader drNew = cmd.ExecuteReader();if (drNew.HasRows){while (drNew.Read()){MessageBox.Show(drNew[0].ToString());}}drNew.Close();}}}★ ★★★★Form1.Designer.cs窗体代码文件完整程序代码★★★★★namespace _1_03{partial class Form1{/// /// 必需的设计器变量。/// private System.ComponentModel.IContainer components = null;
赞