|
以下是C#的DataReader类实例代码: 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(); } } } |