您的位置:首页 > 编程语言 > C#

c# 中关于DataReader读取数据的方式

2010-11-21 17:20 309 查看

ADO.NET提供了一种轻量级的读取数据的对象DataReader

DataReader是一种前向的,只读的,快速读取数据对象。
如果应用程序需要每次从数据库中读取最新的数据,或者是只需要快速读取数据,并不需要修改数据,那么DataReader性能是最高的。

//第一种方法
static void DisplayResult(SqlDataReader sdr)
{
if (sdr.HasRows)
{
for (int i = 0; i < sdr.VisibleFieldCount; i++)
Console.Write(sdr.GetName(i).PadRight(10));
while (sdr.Read())
{
Console.Write(sdr.GetString(0).PadRight(10));
Console.Write(sdr.GetString(1).PadRight(10));
Console.Write(sdr.GetInt32(2).ToString().PadRight(10));
Console.WriteLine();
}
}
}
//第二种方法
static void DisplayResult1(SqlDataReader sdr)
{
if (sdr.HasRows)
{
for (int i = 0; i < sdr.VisibleFieldCount; i++)
Console.Write(sdr.GetName(i).PadRight(10));
while (sdr.Read())
{
Console.Write("{0}{1}{2}", sdr[0], sdr[1], sdr[2]);
Console.WriteLine();
}
}
}
//第三种方法(不知道字段的位置,但是知道字段的名称的情况下)
static void DisplayResult2(SqlDataReader sdr)
{
if (sdr.HasRows)
{
for (int i = 0; i < sdr.VisibleFieldCount; i++)
Console.Write(sdr.GetName(i).PadRight(10));
Console.WriteLine();
while (sdr.Read())
{
//其中GetOrdinal方法永远获得指定字段的索引
Console.Write(sdr.GetString(sdr.GetOrdinal("ID")));
Console.Write(sdr.GetString(sdr.GetOrdinal("Name")).ToString().PadRight(10));
Console.Write(sdr.GetInt32(sdr.GetOrdinal("Age")).ToString().PadRight(10));
Console.WriteLine(); }
}
}
//第四种方法
static void DisplayResult3(SqlDataReader sdr)
{
if (sdr.HasRows)
{
while (sdr.Read())
{
Console.Write(sdr.GetValue(0).ToString().PadRight(10));
Console.Write(sdr.GetValue(1).ToString().PadRight(10));
Console.Write(sdr.GetValue(2).ToString().PadRight(10));
Console.WriteLine();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: