我目前正在开发 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/