try:SET @SSQL = '
SELECT TOP ' + CAST(@__LastIndex AS NVarchar) + '@SKeys = '' + @SKeys + CASE WHEN @Index >= ' + CAST(@__FirstIndex AS Nvarchar) + '
THEN ''''''+CAST(UserID AS Nvarchar) + '''''',''
ELSE '''' END,
@Index = @Index + 1
FROM dbo.Tbl_User'
+ @__WhereClause + '
ORDER BY ' + @__SortField + @__Order
SELECT TOP ' + CAST(@__LastIndex AS NVarchar) + '@SKeys = '' + @SKeys + CASE WHEN @Index >= ' + CAST(@__FirstIndex AS Nvarchar) + '
THEN ''''''+CAST(UserID AS Nvarchar) + '''''',''
ELSE '''' END,
@Index = @Index + 1
FROM dbo.Tbl_User'
+ @__WhereClause + '
ORDER BY ' + @__SortField + @__Order
SELECT TOP ' + CAST(@__LastIndex AS NVarchar) + '
@SKeys = '' + @SKeys + CASE WHEN @Index >= ' + CAST(@__FirstIndex AS Nvarchar) + '
THEN ''''''''+CAST(UserID AS Nvarchar)+'''''''' + '',''
ELSE '''' END,
@Index = @Index + 1
FROM dbo.Tbl_User'
+ @__WhereClause + '
ORDER BY ' + @__SortField + @__Order
(
UserID varchar(20)
)
insert A
select 'AAA' union
select 'BBB'--测试
declare @sql nvarchar(100),@s varchar(200)
set @s=''
set @sql=N'select @s=@s+'',''+''''''''+UserID+'''''''' from A'
exec sp_executesql @sql,N'@s varchar(200) output',@s output
select @s--删除测试环境
drop table A--结果
/*
,'AAA','BBB'
*/
@test char(10) /*假如是输入参数*/
declare @sql varchar(50)
set @sql='select * from table where name='''+@test+'''' /*加单引号*/
exec(@sql)
GO
eprint自定义打印是一个页面套打工具.它直接在IE浏览器中可视化的设计各种复杂的打印模版,
能够解决在IE浏览器中打印各种复杂的中国式报表及票据。详见: http://218.30.103.110:8080/eprint/index.htm
方成eform自定义表单平台,纯BS结构.100%开放源码.可以在 http://218.30.103.110:8080/eform/index.html 在线试用.
THEN '"'+CAST(UserID AS Nvarchar)+'"'字符串连接,俺只能实现双引号,单引号好像不行!
SELECT TOP ' + CAST(@__LastIndex AS NVarchar) + '
@SKeys = '' + @SKeys + CASE WHEN @Index >= ' + CAST(@__FirstIndex AS Nvarchar) + 'THEN '''+ CAST(UserID AS Nvarchar) + ''',ELSE '''' END,@Index = @Index + 1 FROM dbo.Tbl_User'
+ @__WhereClause + 'ORDER BY ' + @__SortField + @__Order
SELECT TOP ' + CAST(@__LastIndex AS NVarchar) + '
@SKeys = '' + @SKeys + CASE WHEN @Index >= ' + CAST(@__FirstIndex AS Nvarchar) + '------------------------------ THEN char(39)+CAST(UserID AS Nvarchar)+char(39) + '','' ---------------------------------
ELSE '''' END,
@Index = @Index + 1
FROM dbo.Tbl_User'
+ @__WhereClause + '
ORDER BY ' + @__SortField + @__Order如果你的语句没问题的话,这样应该可以了