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具有較快的訪問能力,并且能夠使用較少的服務(wù)器資源匣吊。DataReader對象提供了“游標(biāo)”形式的讀取方法壹置,當(dāng)從結(jié)果中讀取了一行尼荆,則“游標(biāo)”會繼續(xù)讀取到下一行盒使。通過Read方法可以判斷數(shù)據(jù)是否還有下一行捣作,如果存在數(shù)據(jù)衣摩,則繼續(xù)運(yùn)行并返回true,否則返回false戈擒。
DataReader可以提高執(zhí)行效率,基于序號的查詢可以使用DataReader.當(dāng)使用ExecuteReader()操作數(shù)據(jù)庫時眶明,會遇到知道某列的名稱而不知道某列的號的情況,這種情況可以通過使用DataReader對象的GetOrdinal()方法獲取相應(yīng)的列號筐高。此方法接收一個列名并返 回此列名所在的列號搜囱。