日期:2014-05-19  浏览次数:20524 次

这个查询为何返回空行?
我用SQL2000,在其中建立一个数据库Account,在Account内建一张表Users,各字段如下:
UserID,类型为nchar,长度为20
Password,类型为nchar,长度为20

之后,在表中填加记录
第一条:lgh     800913
第二条:cym     821012

建立查询过程:
CREATE   PROCEDURE   [sp_select_Users]
(@UserID_1   [nchar])
AS   select   UserId   from   [Account].[dbo].[Users]  
WHERE   ([UserID]=@UserID_1)
GO

在查询分析器中运行:
use   account
exec   sp_select_Users
@UserID_1= 'lgh '
go

返回一个空行,不知为何?请高手解答,小弟先作揖了!!!

------解决方案--------------------
沒有指定長度,所以就會那樣。

修改為

CREATE PROCEDURE [sp_select_Users]
(@UserID_1 [nchar] (20))
AS select UserId from [Account].[dbo].[Users]
WHERE ([UserID]=@UserID_1)
GO

------解决方案--------------------
在查询分析器中运行:
use account
exec sp_select_Users
@UserID_1= 'lgh '
------------------------

exec sp_select_Users 'lgh '

------解决方案--------------------
可能是長度的問題