当前位置: 代码迷 >> Sql Server >> !郁闷不知道错在那里!解决方案
  详细解决方案

!郁闷不知道错在那里!解决方案

热度:19   发布时间:2016-04-27 20:46:51.0
!~~~~~~~~郁闷不知道错在那里!~~~~~~~~~~~
我写了一个存储过程创建没有问题
运行就有问题是什么原因啊
create   procedure   checkuser
@usertype   int,
@userinfo   varchar(200),
@userpwd   varchar(200)
as
begin
declare   @strSql   NVARCHAR(500)
if(@usertype> 0)
set   @strSql= 'SELECT   dbo.ayUser.UserID,dbo.ayUser.UserName,dbo.ayUser.UserEmail,dbo.ayUser.PassWordID,   dbo.ayPassWord.ayPassWordID,dbo.ayPassWord.ayPassWord   FROM   dbo.ayPassWord   INNER   JOIN   dbo.ayUser   ON   dbo.ayUser.PassWordID   =   dbo.ayPassWord.ayPassWordID   where   dbo.ayUser.username= '[email protected]+ '   and   dbo.ayPassWord.ayPassWord= '[email protected]
else
set     @strSql= 'SELECT   dbo.ayUser.UserID,dbo.ayUser.UserName,dbo.ayUser.UserEmail,dbo.ayUser.PassWordID,   dbo.ayPassWord.ayPassWordID,dbo.ayPassWord.ayPassWord   FROM   dbo.ayPassWord   INNER   JOIN   dbo.ayUser   ON   dbo.ayUser.PassWordID   =   dbo.ayPassWord.ayPassWordID   where   dbo.ayUser.userEmail= '[email protected]+ '   and   dbo.ayPassWord.ayPassWord= '[email protected]

EXECUTE   sp_executesql   @strSql
print   @usertype
print   @strSql
end


exec   checkuser   1, 'ddd ', '123456 '


服务器:   消息   207,级别   16,状态   3,行   1
列名   'ddd '   无效。


给点帮助啊

------解决方案--------------------
create procedure checkuser
@usertype int,
@userinfo varchar(200),
@userpwd varchar(200)
as
begin
declare @strSql NVARCHAR(500)
if(@usertype> 0)
set @strSql= 'SELECT dbo.ayUser.UserID,dbo.ayUser.UserName,dbo.ayUser.UserEmail,dbo.ayUser.PassWordID, dbo.ayPassWord.ayPassWordID,dbo.ayPassWord.ayPassWord FROM dbo.ayPassWord INNER JOIN dbo.ayUser ON dbo.ayUser.PassWordID = dbo.ayPassWord.ayPassWordID where dbo.ayUser.username= ' ' '[email protected]+ ' ' ' and dbo.ayPassWord.ayPassWord= ' ' '[email protected]+ ' ' ' '
else
set @strSql= 'SELECT dbo.ayUser.UserID,dbo.ayUser.UserName,dbo.ayUser.UserEmail,dbo.ayUser.PassWordID, dbo.ayPassWord.ayPassWordID,dbo.ayPassWord.ayPassWord FROM dbo.ayPassWord INNER JOIN dbo.ayUser ON dbo.ayUser.PassWordID = dbo.ayPassWord.ayPassWordID where dbo.ayUser.userEmail= ' ' '[email protected]+ ' ' ' and dbo.ayPassWord.ayPassWord= ' ' '[email protected]+ ' ' ' '

EXECUTE sp_executesql @strSql
print @usertype
print @strSql
end

------解决方案--------------------
--try
create procedure checkuser
@usertype int,
@userinfo varchar(200),
@userpwd varchar(200)
as
begin
declare @strSql NVARCHAR(500)
if(@usertype> 0)
set @strSql= 'SELECT dbo.ayUser.UserID,dbo.ayUser.UserName,dbo.ayUser.UserEmail,dbo.ayUser.PassWordID, dbo.ayPassWord.ayPassWordID,dbo.ayPassWord.ayPassWord FROM dbo.ayPassWord INNER JOIN dbo.ayUser ON dbo.ayUser.PassWordID = dbo.ayPassWord.ayPassWordID where dbo.ayUser.username= ' ' '[email protected]+ ' ' ' and dbo.ayPassWord.ayPassWord= '[email protected]
else
set @strSql= 'SELECT dbo.ayUser.UserID,dbo.ayUser.UserName,dbo.ayUser.UserEmail,dbo.ayUser.PassWordID, dbo.ayPassWord.ayPassWordID,dbo.ayPassWord.ayPassWord FROM dbo.ayPassWord INNER JOIN dbo.ayUser ON dbo.ayUser.PassWordID = dbo.ayPassWord.ayPassWordID where dbo.ayUser.userEmail= ' ' '[email protected]+ ' ' ' and dbo.ayPassWord.ayPassWord= '[email protected]

EXECUTE sp_executesql @strSql
print @usertype
  相关解决方案