全部,这是我以前不必做的事情,由于某种原因,我无法找到一个类似的问题。我希望在C#中将NVARCHAR @columnHeaders
返回到String
。将构建我想要的字符串的SQL查询是这个
DECLARE @columnHeaders NVARCHAR(MAX);
SELECT @columnHeaders =
COALESCE (@columnHeaders + ',[' + Field + ']', '[' + Field + ']')
FROM SomeTable;
但是,如何将变量
@columnHeaders
拉回到C#中呢?注意,我可以使用函数等,但是除非绝对必要,否则我不想使用存储过程,视图或函数。我可以选择使用
DataTable
中的columnn标头DECLARE @columnHeaders NVARCHAR(MAX);
SELECT COALESCE (@columnHeaders + ',[' + Field + ']', '[' + Field + ']')
FROM SomeTable;
并在C#中进行操作,但是直接从SQL返回字符串会很好。
谢谢你的时间。
最佳答案
如果您不想使用存储过程,则可能会起作用。
DECLARE @columnHeaders NVARCHAR(MAX);
SELECT @columnHeaders =
COALESCE (@columnHeaders + ',[' + Field + ']', '[' + Field + ']')
FROM SomeTable;
select @columnHeaders
并使用
ExecuteScalar()
获得结果。但是,我个人建议存储过程要更整洁,因为它将SQL保留在SQL Server中。