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

标签 c# .net sql sql-server

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

例如,如果有这样的查询

select * from customer where name = @customer_name

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

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

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

最佳答案

如果您的查询与问题中的字符串类似,则不能。

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

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

但是您只能在将参数添加到命令后执行此操作。

关于c# - 在 C# 中确定 SQL 查询参数的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948878/

相关文章:

mysql - 使用重复的数据库记录创建排名和统计

c# - 带有光滑圆角的标签

c# - 协变和逆变混淆

SQL,查找具有两个标识符的文本

c# - 无法将扩展 DynamicObject 的类序列化为 JSON 字符串。

.net - 为什么我在使用 TextMessageEncodingBindingElement 时收到 XmlException "Unexpected end of file"?

mysql - 查找 SQL 中最常一起出现的记录

c# - 我测量运行时间的方法有缺陷吗?

c# - 在 C# Windows 中设置 DataSource 属性时无法修改项集合

c# - Uwp 在用户登录时执行后台任务