c# - C# 中的 MySQLConversionException 问题

标签 c# mysql datetime

我目前正在开发 C# MySQL 导出实用程序。因此,我不会知道表中每个字段的字段或数据类型。

当我从数据库中的表导出数据时,它显示 MySQLConversionException,指出它无法将 MySQL 日期/时间转换为 System.DateTime。当我运行代码时它正在这样做:

if (!reader.isDBNull(fieldCount)){}

但是,当此行引发异常时,我通过将允许零日期时间 = true 添加到 MySQL 连接字符串来修复它,但当我运行代码时它不会显示错误

string value = reader.getString(field);

考虑到我不会知道数据类型是什么或值是什么,我该如何解决这个问题。

感谢您提供的任何帮助。

最佳答案

您可以获取原始值作为对象:

object value = reader[field];

然后根据其类型决定做什么:

if (value is string)
{
    string sVal = value.ToString();
    //handle as string...
}
else if (value is DateTime)
{
    DateTime dtVal = (DateTime)value;
    //handle as DateTime...
}
else
{
    //some other type
}

也许不优雅,但应该可以。

关于c# - C# 中的 MySQLConversionException 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7033117/

相关文章:

mysql - 毫秒精度的时间戳 : How to save them in MySQL

mysql - 如何从具有可变数据库和表的数据中进行选择

php - 在php中根据时区计算时间

c# - Json.NET 从自动属性初始值设定项获取默认值

c# - LINQ2SQL : Join multiple tables

c# - 更新数据库中的日期时间

c# - DateTime.UtcNow 的结果不一致

c# - c#中如何封装事件类型成员?

java - JSON 和 java servlet

mysql - 查询日期 : is "dateval LIKE ' 2014-01-01 %'" a best practice?