CREATE PROCEDURE [dbo].[AdminCheck] (@Name nvarchar, @Password int)
AS
Select * from Admin
where AdminName = @Name AND AdminPassword = @Password
Go
以上是我stored procedure
我在Admin
表中将AdminName
123
和AdminPassword
作为Admin
。
当我运行它时,它不起作用。
答案 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