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) ',
@mTableName=@TableName,@mFieldName=@FieldName,@mUserId=@UserId
-- 你这里“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 '+@mFieldName+ ' = ' ' '+@mUserId+ ' ' ' '
-------------------------------------------
exec sp_executesql @sqlText,N '@mTableName varchar(50),@mFieldName varchar(50),
@mUserId varchar(50) ',
@mTableName=@TableName,@mFieldName=@FieldName,@mUserId=@UserId
换成
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(幽灵) 请进。 解决此问题既给分。如果是其他朋友解答分也是你的。