private static void CreateCommand(string queryString,string connectionString){
using(SqlConnection connection =newSqlConnection( connectionString)) { connection.Open();
SqlCommand command =newSqlCommand(queryString, connection);
SqlDataReader reader = command.ExecuteReader();
while(reader.Read()) {
Console.WriteLine(String.Format("{0}", reader[0]));
}
}
}
ExecuteReader相比与DataSet而言,DataReader具有较快的访问能力,并且能够使用较少的服务器资源。DataReader对象提供了“游标”形式的读取方法,当从结果中读取了一行,则“游标”会继续读取到下一行。通过Read方法可以判断数据是否还有下一行,如果存在数据,则继续运行并返回true,否则返回false。
DataReader可以提高执行效率,基于序号的查询可以使用DataReader.当使用ExecuteReader()操作数据库时,会遇到知道某列的名称而不知道某列的号的情况,这种情况可以通过使用DataReader对象的GetOrdinal()方法获取相应的列号。此方法接收一个列名并返 回此列名所在的列号。