【发布时间】: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中获得一条记录