导航

C#中DataReader类的使用方法

Posted on 2011-03-29 00:02  beeone  阅读(4337)  评论(0编辑  收藏  举报
直接贴代码出来:

using System;

using System.IO;

using System.Data;

using System.Data.OleDb;



namespace ConsoleDataReader

{

/// <summary>

/// Class1 的摘要说明。

/// </summary>

class DataReaderClass

{

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main(string[] args)

{

string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DataBase.mdb";

OleDbConnection MyCon
= new OleDbConnection(strCon);



try

{

// 打开数据库的连接

MyCon.Open();

string strSQL = @"select * from ADODemo";

OleDbCommand MyCom
= new OleDbCommand(strSQL, MyCon);



// 获取DataReader的数据集

OleDbDataReader MyDataReader
= MyCom.ExecuteReader();



// 输出数据库字段的名称和类型

Console.WriteLine(
"{0}:{1} {2}:{3}",

MyDataReader.GetName(
0).PadRight(6)

, MyDataReader.GetDataTypeName(
0).PadRight(5),

MyDataReader.GetName(
2).PadRight(5),

MyDataReader.GetDataTypeName(
2).PadRight(5));



// 获取ADODemo表中的字段总数

Console.WriteLine(
"ADODemo表的字段总数:{0}\n"

, MyDataReader.FieldCount);



// 另一种方法获取数据库数据

while (MyDataReader.Read())

{

Console.WriteLine(
"{0} {1}", MyDataReader

.GetString(
0), MyDataReader.GetInt32(2));

}



// 返回一个DataTable,需要应用System.Data命名空间

DataTable MyDataTable
= MyDataReader.GetSchemaTable();

foreach (DataRow row in MyDataTable.Rows)

{

foreach (DataColumn col in MyDataTable.Columns)

Console.WriteLine(col.ColumnName
+ " = " + row[col]);

Console.WriteLine(
"----------------------------------------");

}



MyDataReader.Close();

}

catch (Exception ex)

{

Console.WriteLine(
"{0}", ex.ToString());

}

finally

{

MyCon.Close();

}

Console.ReadLine();

}

}

}