Executescalar查询代码问题

时间:2011-12-03 04:13:07

标签: c# sql executescalar

我试图在下面的查询中返回成员ID。如果我像查询一样运行查询,我得到20但是当我执行代码时它返回零。我在这做错了什么?

public int GetMemberID(string guid)
   {
       string strConectionString = ConfigurationManager.AppSettings["DataBaseConnection"];
       string StrSql = "SELECT MemberID FROM MEMBERS WHERE (Guid = @GuidID)";

       int memberId;
       using (var connection = new SqlConnection(strConectionString))
       using (var command = new SqlCommand(StrSql, connection))
       {
           command.Parameters.Add("@GuidID", SqlDbType.Int).Value = guid;
           memberId = (int)command.ExecuteScalar();
       }

       return memberId; 

   }

2 个答案:

答案 0 :(得分:1)

guid变量不是int

command.Parameters.Add("@GuidID", SqlDbType.VarChar).Value = guid;

答案 1 :(得分:0)

您的参数@GuidID是Int类型? 确保它是正确的。