2011-12-03 56 views
1

我试图在下面的查询中返回成员标识。如果我运行查询就像查询我得到20,但是当我exectute代码它返回一个零。我在这里做错了什么?执行标准查询码问题

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; 

    } 
+0

我该如何接受答案? – CsharpBeginner

+0

http://stackoverflow.com/faq#howtoask - 阅读本节的结尾。 – Jon

回答

1

​​变量不是int

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

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