C# 存储过程输出字符串结果仅为一个字符,而不是完整字符串
我对这段代码有一些问题,我想要的返回变量是“Sơn”而不是“S” 我的代码:C# 存储过程输出字符串结果仅为一个字符,而不是完整字符串,c#,sql-server,winforms,sqlcommand,C#,Sql Server,Winforms,Sqlcommand,我对这段代码有一些问题,我想要的返回变量是“Sơn”而不是“S” 我的代码: SentoDB.RunProcedure("usp_GetNameWithIdCategory"); SqlParameter CategoryID = new SqlParameter("CategoryID", SqlDbType.Int); CategoryID.Value = Int32.Parse(item.Value); SqlParameter result = new SqlParameter("res
SentoDB.RunProcedure("usp_GetNameWithIdCategory");
SqlParameter CategoryID = new SqlParameter("CategoryID", SqlDbType.Int);
CategoryID.Value = Int32.Parse(item.Value);
SqlParameter result = new SqlParameter("result", SqlDbType.NVarChar);
result.Direction = ParameterDirection.Output;
result.Value = string.Empty;
SentoDB.AddParameters(CategoryID);
SentoDB.AddParameters(result);
SentoDB.LoadProcedure();
变量result.Value.ToString()是“S”而不是“Sơn”
SQL中的存储过程:
CREATE PROCEDURE usp_GetNameWithIdCategory
(@CategoryID INT, @result NVARCHAR(MAX) OUTPUT)
AS
BEGIN
SELECT @result = Cate.Name
FROM Category AS Cate
WHERE Cate.CategoryID = @CategoryID
END
尝试向参数添加大小。
在添加大小之前,我对varbinary也有同样的问题。尝试向参数添加大小。
在添加大小之前,我对varbinary也有同样的问题。您的意思是
SqlParameter result=newsqlparameter(“result”,SqlDbType.NVarChar)在这一行中,有一个实现,其大小参数为SqlParameter result=newsqlparameter(“result”,SqlDbType.NVarChar)在这一行中,有一个带有size参数的实现
CREATE PROCEDURE usp_GetNameWithIdCategory
(@CategoryID INT, @result NVARCHAR(MAX) OUTPUT)
AS
BEGIN
SELECT @result = Cate.Name
FROM Category AS Cate
WHERE Cate.CategoryID = @CategoryID
END