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

本文关键字:参数 数据类型 查询 SQL 确定 | 更新日期: 2023-09-27 18:25:27

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

例如,如果存在类似的查询

select * from customer where name = @customer_name

是否可以从查询中确定@customer_name字段的预期数据类型。我知道我可以使用检索关于结果列的其他元数据

DbDataReader.GetSchemaTable()

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

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

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

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

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

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