COUNT总是返回0的SELECT语句
本文关键字:SELECT 语句 返回 COUNT | 更新日期: 2023-09-27 18:16:49
不知道为什么我不能只用少量的评论文本回复这里的人,但是我修改的代码超过了这个,所以我发布了新的
这个web服务总是返回0。如果我在SSMS中运行它,它返回3…不知道为什么,有什么想法吗?
string ConnString = "Removed";
String query = "DECLARE @userSID varchar(255) SELECT COUNT(AD_SID) As ReturnCount FROM AD_Authorization WHERE AD_SID = @userSID ";
using (OleDbConnection conn = new OleDbConnection(ConnString))
{
using (OleDbCommand cmd = new OleDbCommand(query, conn))
{
cmd.Parameters.AddWithValue("userSID", SpartaCrypto.SpartaEncryptAES(userSID.ToString(), "s3cret!"));
conn.Open();
int returnCount = (Int32)cmd.ExecuteScalar();
conn.Close();
if (returnCount > 1)
{
return 1;
}
else
{
return 0;
}
}
}
您的查询不是一个好的OLEDB参数化查询。
试试这个:
"SELECT COUNT(AD_SID) As ReturnCount FROM AD_Authorization WHERE AD_SID = @userSID";
同时,参数名应该匹配:
cmd.Parameters.AddWithValue("@userSID", SpartaCrypto.SpartaEncryptAES(userSID.ToString(), "s3cret!"));