繁体   English   中英

插入行后的SQL Server存储过程返回的列数据的字符串值被截断

[英]SQL Server stored procedure after insert row return string value of column data truncated

我一直试图在插入后返回字符串值,但是我的数据总是被截断。 它仅返回字符串的第一个字符。

我的存储过程:

ALTER PROC [dbo].[usp_add_user]
    (@firstName nvarchar(50),
     @lastName nvarchar(50),
     @email nvarchar(100),
     @password nvarchar(100),
     @userID nvarchar(50) OUTPUT)
AS
BEGIN
    SET @userID = newid()

    INSERT INTO [User] ([UserID], [FirstName], [LastName], [Email], [Password])
    VALUES (@userID, @firstName, @lastName, @email, @password)

    SELECT @userID;
END

我的C#我如何努力抓住价值

access.Parameter["@userID"].Value.ToString();

当我在SQL Server Management Studio中执行存储过程时,它正确显示了所有内容,我的@userID是正确的。 但是,当返回到Visual Studio时,我只会得到第一个字符

谢谢

您需要指定大小以获取整个字符串

cmd.Parameters.Add(new SqlParameter("@userID", SqlDbType.NVarChar, 50));
cmd.Parameters["@userID"].Direction = ParameterDirection.Output;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM