我怎么能推断参数&从SQL查询字符串返回列?

时间:2015-01-14 10:35:20

标签: c# sql sql-server parsing sqlparameters

我正在构建一个允许用户输入SQL查询字符串的应用程序。这些查询字符串将包含0个或更多参数以及1个或多个返回列。是否有一种标准方法来解析SQL查询以提取这些元素?理想情况下,这可以不运行查询,甚至连接到SQL Server实例。

查询字符串可能如下所示:

SELECT
    Posts.ID,
    Posts.Description
FROM Posts
WHERE Posts.Date > @StartDate

由此,我想提取一系列列名(“Posts.ID”,“Posts.Description”)和一组参数(“StartDate”)。

这似乎不是一件特别奇怪的事情。事实上,微软在他们的报告产品中做到了这一点(我在BIDS中看到过)。

我可以使用图书馆吗?否则,推荐的方法是什么?

1 个答案:

答案 0 :(得分:0)

我不知道如何在不连接SQL Server的情况下获取此信息,但是对于SQL Server 2012以后,有一些新的系统存储过程可能有所帮助;

在SQL Server 2012之前,您可以使用SET FMTONLY ON执行查询以获取结果集架构,但您需要知道这些参数。

希望这有帮助,

里斯