我正在使用 Sqlite 并在尝试回读一些测试数据时不断出错。例如,我创建了一个带有单个表和一些列的简单数据库,并用一些测试数据填充它,如下所示。
sqlite> .schema
CREATE TABLE "shows"(id integer primary key asc autoincrement, showName TEXT, guest TEXT, dateAired date, dateWatched date);
sqlite> select * from shows;
6|test show|test guest 1|2012.05.01|2012.07.10
7|test show|test guest 2|2012.05.02|2012.07.10
8|test show|test guest 4|2012.05.04|2012.07.10
我正在使用此处提供的 System.Data.Sqlite 库,但在尝试读取日期列时它一直给我一个错误。我尝试将日期设置为 dd-MM-yyyy 格式,但仍然收到错误消息“字符串未被识别为有效日期时间”。我尝试使用 DateTime.Parse 或将其转换为 datetime 或只是 ToString()'ing 来查看会发生什么,但我一直收到同样的错误。我可以很好地阅读文本字段,但无法阅读日期字段。
下面给出了我的 C# 代码
var sqliteConn = new SQLiteConnection("Data Source=data/shows.db;Version=3;New=False;Compress=True");
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand(sqliteConn);
cmd.CommandText = "select * from shows";
SQLiteDataReader reader = cmd.ExecuteReader( );
while (reader.Read( ))
{
var showName = reader["showName"];
// This is where it keeps giving me an error.
// I have tried various things such as DateTime.Parse
var airedDate = DateTime.ParseExact("yyyy.MM.dd", reader["dateAired"].ToString(), new CultureInfo("en-AU"));
}
reader.Close( );
任何帮助将不胜感激。
问候,