我有这个代码:
public int GetUserIdByEmail(string email)
{
using (SqlConnection conn = new SqlConnection(ZincModelContainer.CONNECTIONSTRING))
{
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = String.Concat("SELECT [Zinc].[GetUserIdByEmail] (", email, ")"); //is this correct??? the problem lies here
return (int)cmd.ExecuteScalar();
}
}
}
我在上面的代码中收到错误。这还是不对 我现在的功能如下 veljasije 建议的 谢谢
最佳答案
修改您的程序:
CREATE PROCEDURE [Zinc].[GetUserIdByEmail]
(
@Email varchar (100)
)
AS
BEGIN
SELECT zu.UserId from Zinc.Users zu WHERE Email = @Email
END
并在代码中将参数类型从 NVarChar
更改为 VarChar
函数
CREATE FUNCTION [Zinc].[GetUserIdByEmail]
(
@Email varchar(100)
)
RETURNS int
AS
BEGIN
DECLARE @UserId int;
SET @UserId = (SELECT zu.UserId from Zinc.Users zu WHERE Email = @Email)
RETURN @UserId
END
关于asp.net-mvc-3 - 使用函数从表中返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871938/