繁体   English   中英

C#从数据库检索数据-未知的数据类型和未知的列名

[英]C# retrieve data from database - unknown datatype and unknown column name

我正在尝试从数据库中检索用户选择的数据。 用户最多可以选择五个字段在报告中显示,并且这些字段是字符串,日期和数字的混合。 由于正在运行其他报告,因此无法将数据转换为SQL代码中的字符串。 由于我不知道数据类型,因此我无法执行datareader.GetSqlString(column),并且由于我不知道用户可能已选择的列的名称,因此无法执行datareader.GetString(datareader。 GetOrdinal(columnName))。 关于如何在不知道数据类型或列名的情况下从数据库中检索值的任何想法?

提前致谢。

您可以使用reader.GetSchemaTable()获取数据阅读器或reader.GetType(n)reader.GetProviderSpecificType(n)的模式表,以获取特定字段的数据类型。

然后,您可以使用该信息来确定要调用的方法:

if (reader.GetType(n) == typeof(string))
{
    string value = reader.GetString(n);
}

暂无
暂无

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

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