Asp.net 字符串返回类型为的存储过程中出错
此存储过程引发错误: 将varchar值“Saurav”转换为数据类型int时,转换失败Asp.net 字符串返回类型为的存储过程中出错,asp.net,sql-server,stored-procedures,Asp.net,Sql Server,Stored Procedures,此存储过程引发错误: 将varchar值“Saurav”转换为数据类型int时,转换失败 SP似乎没有与错误相关的错误代码,您是否可以很好地检查传递给存储过程的参数(即它们的顺序和类型)?问题可能是您正在传递的值,而不是实际的过程 您是否可以将调用存储过程时使用的代码附加到帖子中?SP似乎没有与错误相关的错误代码,您是否可以检查传递给存储过程的参数(即它们的顺序和类型)?问题可能是您正在传递的值,而不是实际的过程 您是否可以将调用存储过程时使用的代码附加到帖子中?您确定它是varchar列吗 A
SP似乎没有与错误相关的错误代码,您是否可以很好地检查传递给存储过程的参数(即它们的顺序和类型)?问题可能是您正在传递的值,而不是实际的过程
您是否可以将调用存储过程时使用的代码附加到帖子中?SP似乎没有与错误相关的错误代码,您是否可以检查传递给存储过程的参数(即它们的顺序和类型)?问题可能是您正在传递的值,而不是实际的过程
您是否可以将调用存储过程时使用的代码附加到帖子中?您确定它是
varchar
列吗
ALTER PROCEDURE [dbo].[Signin_Check]
@uid varchar(50), @pwd varchar(50), @uname varchar(50) output
AS
IF EXISTS (SELECT * FROM threeLayer_user WHERE uid = @uid and pass = @pwd)
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT @uname = name
FROM threeLayer_user
WHERE uid = @uid and pass = @pwd
RETURN @uname
END
您确定它是
varchar
列吗
ALTER PROCEDURE [dbo].[Signin_Check]
@uid varchar(50), @pwd varchar(50), @uname varchar(50) output
AS
IF EXISTS (SELECT * FROM threeLayer_user WHERE uid = @uid and pass = @pwd)
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT @uname = name
FROM threeLayer_user
WHERE uid = @uid and pass = @pwd
RETURN @uname
END
您的代码包含该行
@uid varchar(50) / int
uid = @uid
return语句只能接受整数值。但是,@uname参数是一个输出参数,因此不需要同时返回它。只要确保在调用存储过程时指定OUTPUT
:
return @uname
您的代码包含该行
@uid varchar(50) / int
uid = @uid
return语句只能接受整数值。但是,@uname参数是一个输出参数,因此不需要同时返回它。只要确保在调用存储过程时指定OUTPUT
:
return @uname
表上的数据类型是什么?表上的数据类型是什么?