【问题标题】:Invalid date format exception in SqliteDataAdapterSqliteDataAdapter 中的无效日期格式异常
【发布时间】:2015-11-19 02:45:09
【问题描述】:

我在 SQLite db 中运行一个选择命令,有一个列 'DATETIME' 数据类型。 当我用适配器填充 DataTable 时出现“字符串未被识别为有效”异常。 这里代码:

DataTable dt = new DataTable();

string query = "select * from books"
cmd.CommandText = query;
SqliteDataAdapter da = new SqliteDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);//exception throws on this line

我在 db dd/MM/yyyy HH:mm:ss 中的日期格式,在程序运行的服务器中:MM/dd/yyyy HH:mm:ss
所以我认为这会导致错误。正确的 ?我怎么能简单地说适配器用当前日期格式填充 dt,忽略忽略服务器。

【问题讨论】:

  • Sqlite 本身没有DateTime 的任何数据类型,它们都是字符串。您的数据中可能有一些无效的日期,SqliteDataAdapter 正在尝试将所有字符串转换为日期并失败。尝试SELECT * from BOOKS limit 1; 以确保您在DataTable 中获得一条记录

标签: c# sqlite


【解决方案1】:

您可以尝试将“datetimeformat”参数添加到连接字符串并更改日期格式。将 datetimeformat 参数更改为当前文化。

datetimeformat=CurrentCulture

默认日期为 ISO8601

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多