检查c#中sql命令的返回
本文关键字:返回 命令 sql 检查 | 更新日期: 2023-09-27 18:28:04
我想检查我的查询是否返回任何值,并相应地写入剩余的逻辑。
SqlCommand myCommand = new SqlCommand("Select * from phc.userbase where [user]='@Username' and [password]='@password'", myConnection);
我想知道这个命令是否返回null。我试过
myReader = myCommand.ExecuteReader();
bool rd = myReader.Read();
if rd==false
但我不能让它工作。有什么想法吗?
以下是我的参数:
SqlParameter myParam = new SqlParameter("@Username", SqlDbType.VarChar, 25);
myParam.Value = usr;
SqlParameter myParam2 = new SqlParameter("@password", SqlDbType.VarChar, 25);
myParam2.Value = pass;
这取决于这里null
的含义;你的意思是"不划船"吗?如果是:
using(var myReader = myCommand.ExecuteReader()) {
if(myReader.Read()) {
// at least 1 row; can now check columns
} else {
// no rows
}
}
不过,老实说,您可能会将其更改为SELECT 1 ...
并使用ExecuteScalar
,这样就不用那么麻烦了。
不过,在这种情况下,只使用SELECT 1 ...rest of query...
并使用可能更容易
object value = myCommand.ExecuteScalar();
if(value != null) { ... got a row ...}
使用SqlDataReader.HasRows()
if (myReader.HasRows())
{
// Do something
}