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;
      }
   }
}

COUNT总是返回0的SELECT语句

您的查询不是一个好的OLEDB参数化查询。

试试这个:

"SELECT COUNT(AD_SID) As ReturnCount FROM AD_Authorization WHERE AD_SID = @userSID";

同时,参数名应该匹配:

cmd.Parameters.AddWithValue("@userSID", SpartaCrypto.SpartaEncryptAES(userSID.ToString(), "s3cret!"));