回答

收藏

如何从SqlDataReader中读取SQL Server COUNT

技术问答 技术问答 254 人阅读 | 0 人回复 | 2023-09-14

我正在尝试使用它C#查找表的计数,SqlDataReader但我一直在得到它
: h. ?1 s% W/ E4 j. O% X% V8 R4 W当没有数据时,尝试无效读取
$ [4 ~; D3 L4 v7 w+ y
我的代码:& X+ I, ]0 t" B/ q9 F7 C' S
string sql = "SELECT COUNT(*) FROM [DB].[dbo].[myTable]";SqlCommand cmd = new SqlComman(sql,connectionString);SqlDataReader mySqlDataReader = cmd.ExecuteReader();int count = mySqlDataReader.GetInt32(0); / Here is where I get the error.我知道我和数据库之间有有效的联系,因为我可以在很多地方阅读和写作,但我不能正确阅读数据库的特点是什么COUNT(*)?我该如何intcount填充?
" f$ U: U9 n# J+ [; D7 G7 C                                                                1 V- r% x- H0 x5 a) a/ h( R
    解决方案:                                                                9 x3 u* u- ^# B8 B; f: m
                                                                必须阅读:# U1 F( W  D& _3 _4 m) f  y
if (mySqlDataReader.Read() {  count = mySqlDataReader.GetInt32(0);}或者,你只能用ExecuteScalar:$ S, K6 w" r  P" v2 X, `/ F) e7 F
int count = (int)cmd.ExecuteScalar();定义为:  E6 b  o7 d# d8 H+ i& X/ g
执行查询,返回查询返回结果集中在第一行的第一列。其他列或行将被忽略。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则