C# 检查SELECT语句条件是否为真

C# 检查SELECT语句条件是否为真,c#,asp.net,sql,sql-server,sql-server-2008,C#,Asp.net,Sql,Sql Server,Sql Server 2008,您好,是否可以使用C#检查这两个条件是否都为真,或者是否只有一个条件为真 string test = "SELECT count(*) FROM table where email=@email AND active=@active"; 我尝试过使用上面的代码,但我不确定我是否理解它是如何工作的。。仅当两个条件均为真时,计数才会为1?count将返回两个条件均为真时的结果数。如果要检查其中一个,请使用或而不是AND 仅当两个条件均为真时,计数是否为1 是。您正在查询中使用和运算符 是否可以

您好,是否可以使用C#检查这两个条件是否都为真,或者是否只有一个条件为真

string  test = "SELECT count(*) FROM table where email=@email AND active=@active";

我尝试过使用上面的代码,但我不确定我是否理解它是如何工作的。。仅当两个条件均为真时,计数才会为1?

count将返回两个条件均为真时的结果数。如果要检查其中一个,请使用或而不是AND

仅当两个条件均为真时,计数是否为1

。您正在查询中使用
运算符

是否可以使用C#检查这两个条件是否都是真的 如果其中只有一个是真的

string  test = "SELECT count(*) FROM table where email=@email AND active=@active";
对于上述查询,。你不能。您需要为每个参数创建两个不同的查询,或者使用
运算符代替
,以查看这两个条件是否为真。但是使用
时,您无法确定哪一个是正确的

试试看:

int count = testCMD.ExecuteNonQuery();
如果两个条件都为真,则返回2;如果其中任何一个条件为真,则返回1;如果两个条件都为假,则返回0

并使用
ExecuteScalar()
而不是
ExecuteNonQuery()
(返回受影响的行数)


我会试试这个然后回来。。似乎就是我要找的。。ThanksecutenQuery将返回受影响的行数,而不是查询返回的值。因此,仅使用上述查询并不能解决OPs问题。使用ExecuteScalar方法,上面的查询将给出OP想要的答案,我接受这个答案,因为它直接解决了我的问题。。谢谢你的帮助
i.e. int count  = (Int32)testCMD.ExecuteScalar();