存储过程不起作用

时间:2015-09-15 07:20:53

标签: sql sql-server tsql stored-procedures

CREATE PROCEDURE [dbo].[AdminCheck] (@Name nvarchar, @Password int)

AS
Select * from Admin
where AdminName = @Name AND AdminPassword = @Password
Go

以上是我stored procedure 我在Admin表中将AdminName 123AdminPassword作为Admin

当我运行它时,它不起作用。

3 个答案:

答案 0 :(得分:2)

当你说

@Name nvarchar

默认情况下,变量的大小为1:
因此,您的查询将与@Name变量的第一个字符进行比较:

为您的变量提供适当的大小;

@Name nvarchar(150)

答案 1 :(得分:1)

您将参数定义为NVARCHAR - 它表示一个符号。

CREATE PROCEDURE [dbo].[AdminCheck] (@Name nvarchar, @Password int)

因此,当您致电AdminCheck('Admin',123)时,@Name实际上是'A'而不是'Admin'

应该是例如:

CREATE PROCEDURE [dbo].[AdminCheck] (@Name nvarchar(100), @Password int)

答案 2 :(得分:0)

你可以这样称呼它。请发送错误信息。

exec [dbo].[AdminCheck] 'Admin',123