全部,这是我以前不必做的事情,由于某种原因,我无法找到一个类似的问题。我希望在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中。

08-24 21:53