2013-02-22 62 views
0

我對SQL返回一個值什麼,我想回:Asp.net MVC 3存儲過程從表中

CREATE PROCEDURE [Zinc].[GetUserByEmail] 
    @Email nvarchar (256) 
    AS 
    SELECT zu.UserId FROM zinc.users zu WHERE zu.Email = @Email 

然後在我的倉庫我到目前爲止有:

public int GetUserByEmail(string email) 
{ 
    using (SqlConnection conn = new SqlConnection(ZincModelContainer.CONNECTIONSTRING)) 
    { 
     using (SqlCommand cmd = conn.CreateCommand()) 
     { 
      conn.Open(); 

      cmd.CommandType = System.Data.CommandType.StoredProcedure; 
      cmd.CommandText = "[Zinc].[GetUserByEmail]"; 

      //not sure how to go from here? 
     } 
     return userId; 
    } 
} 

回答

3

既然是標量,使用方法:

cmd.Parameters.Add("@Email", SqlDbType.NChar).Value = email; 
var UserId = cmd.ExecuteScalar(); 
+3

+1,當。太快! – 2013-02-22 07:54:01

+0

@MajorByte - 感謝您的編輯,並增加了答案。 – 2013-02-22 16:32:36

1
cmd.Parameters.Add("@Email", SqlDbType.NChar).Value = email; 

int UserId = cmd.ExecuteScalar(); 
+0

下載者請留下評論。謝謝,這是體面的事情。 – 2013-02-23 04:27:41