All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
ADO.NET链接数据库DataReader对象应用实例

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 1:35:24 Browse times: 203 Comment times: 0

ADO.NET链接数据库DataReader对象应用实例


Head photo

Go homepage
Upload pictures
Write articles

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;




There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.