如何从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
执行查询,返回查询返回结果集中在第一行的第一列。其他列或行将被忽略。 |
|
|
|
|
|