当前位置: 代码迷 >> Sql Server >> brother2605(幽灵) 请进。解决方法
  详细解决方案

brother2605(幽灵) 请进。解决方法

热度:101   发布时间:2016-04-27 20:01:43.0
brother2605(幽灵) 请进。
十分感谢你在   http://community.csdn.net/Expert/TopicView3.asp?id=5694876
的回复。此贴专门为你开。
我用了你的代码
?  
SET   QUOTED_IDENTIFIER   ON
GO
SET   ANSI_NULLS   ON
GO

ALTER   PROCEDURE   用户功能查询过程
@UserId   varchar(50),
@TableName   varchar(50),
@FieldName   varchar(50)
as
Declare   @dot   Varchar(10)
Declare   @sqlText   Varchar(1000)
Declare   @RuleIds   varchar(500)--我要用这个结果作为第二个查询的条件
Declare   @newSql   Varchar(1000)

set   @sqlText=N 'SELECT   @RuleIds   =   角色编号   FROM   @mTableName   where   @mFieldName   =   @mUserId '
exec   sp_executesql   @sqlText,N '@mTableName   varchar(50),@mFieldName   varchar(50),
@mUserId   varchar(50) ',
@[email protected],@[email protected],@[email protected]
--   你这里“SELECT   @RuleIds   =   角色编号”应该只能取到一条记录吧-_-
set   @newSql   =   N '   SELECT   *   FROM   角色功能查询   WHERE   (角色编号   in   (   ' ' '
set   @newSql   =   @newSql   +   @RuleIds+ ' ' ')) '
print   @newSql
EXECUTE   (@newSql)
---------------------运行结果---------------------------
服务器:   消息   214,级别   16,状态   2,过程   sp_executesql,行   15
过程需要参数   '@statement '   为   'ntext/nchar/nvarchar '   类型。
---------------------
解决此问题既给分。如果是其他朋友解答分也是你的。
呵呵

------解决方案--------------------
解决此问题既给分。如果是其他朋友解答分也是你的。

--------------------
你就讓這個貼沉到海底去吧
------解决方案--------------------
Declare @sqlText Varchar(1000)
换成
Declare @sqlText NVarchar(1000)
---------------------------------------------
set @sqlText=N 'SELECT @RuleIds = 角色编号 FROM @mTableName where @mFieldName = @mUserId '
换成
set @sqlText=N 'SELECT @RuleIds = 角色编号 FROM @mTableName where '[email protected]+ ' = ' ' '[email protected]+ ' ' ' '
-------------------------------------------
exec sp_executesql @sqlText,N '@mTableName varchar(50),@mFieldName varchar(50),
@mUserId varchar(50) ',
@[email protected],@[email protected],@[email protected]
换成
exec sp_executesql @sqlText,N '@RuleIds varchar(500) output ',@RuleIds output


------解决方案--------------------
Declare @dot Varchar(10)
Declare @sqlText NVarchar(1000) --改為NVarchar
Declare @RuleIds varchar(500)
Declare @newSql NVarchar(1000) --改為NVarchar
------解决方案--------------------
路过学习
------解决方案--------------------
解决此问题既给分。如果是其他朋友解答分也是你的。
LZ强悍 ... PF...
------解决方案--------------------
主  题: brother2605(幽灵) 请进。 解决此问题既给分。如果是其他朋友解答分也是你的。
  相关解决方案