繁体   English   中英

如何从SQL查询字符串推断参数和返回的列?

[英]How could I infer parameters & returned columns from a SQL query string?

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

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

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

然后,我要提取列名称的集合(“ Posts.ID”,“ Posts.Description”)和参数集合(“ StartDate”)。

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

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

我不知道有什么方法可以在不连接到SQL Server的情况下获取此信息,但是从SQL Server 2012开始,有一些新的系统存储过程可能会有所帮助。

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

希望这可以帮助,

里斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM