在C#中确定SQL查询的参数数据类型

时间:2013-07-30 13:47:20

标签: c# .net sql sql-server

在C#应用程序中。我希望能够检索查询及其元数据的预期参数。

例如,如果有像

这样的查询
select * from customer where name = @customer_name

是否可以从查询中确定@customer_name字段的预期数据类型。我知道我可以使用

检索有关结果列的其他元数据
DbDataReader.GetSchemaTable()

我需要能够使用参数执行类似的操作。如果他们可以解决这个问题,我愿意使用第三方提供商。

1 个答案:

答案 0 :(得分:3)

如果你的问题字符串中有一个查询,那么你就不能。

但是如果您有一个命令对象并添加了参数,那么您可以找到DbType之类的:

foreach (SqlParameter parameter in command.Parameters)
    Console.WriteLine(parameter.DbType);

但是,只有在将参数添加到命令后才能执行