0

返したいもののSQLがあります:

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

3 に答える 3

3

これはスカラー値であるため、次を使用します。

cmd.Parameters.Add("@Email", SqlDbType.NChar).Value = email;
var UserId = cmd.ExecuteScalar();
于 2013-02-22T07:52:54.013 に答える
1
cmd.Parameters.Add("@Email", SqlDbType.NChar).Value = email;

int UserId = cmd.ExecuteScalar();
于 2013-02-22T07:53:32.997 に答える
0

通常、Microsoft のドキュメントから始めるのが最適です。SqlConnection からの読み取りの例については、 http : //msdn.microsoft.com/en-us/library/877h0y3a.aspxを参照してください。

于 2013-02-22T07:54:59.883 に答える