我正在使用SQLite数据库的C#WPF项目。我试图从sqlite数据库中的表中检索数据并添加到数据集,以便我可以将数据集添加到数据网格的项源。其中一列的是一个DateTime列,但我收到以下错误:使用Sqlite数据库填充包含DateTime列的数据集
String was not recognized as a valid DateTime.
下面是我怎么了检索数据
private DataSet getAlarmsForSqlite()
{
DataSet ds = new DataSet();
try
{
using (ConnectSQLiteDatabase db = new ConnectSQLiteDatabase(dbPassword))
{
string query = "SELECT * FROM alarms ORDER BY date";
SQLiteDataAdapter da = new SQLiteDataAdapter(query, db.conn);
da.Fill(ds);
}
}
catch (SQLiteException ex)
{
Console.WriteLine("Failed to get alarms. Sqlite Error: {0}", ex.Message);
return null;
}
return ds;
}
并在下面的表
创建语句CREATE TABLE `alarms` (`id` int(11) NOT NULL, `date` datetime NOT NULL,
`type` varchar(50) NOT NULL,
`message` mediumtext NOT NULL,
`level` varchar(45) NOT NULL,
`page` varchar(500) NOT NULL,
`acknowledged` char(1) DEFAULT '0', PRIMARY KEY (`id`))
感谢您提供任何帮助。
我不确定,但那个名为'date'的列有点可疑。你可以尝试用方括号封装它吗? – Steve 2013-04-22 20:06:33
不确定你的意思,以什么方式怀疑,以及方括号会实现什么 – Boardy 2013-04-22 20:07:29
我怀疑它被解释为关键字,我的意思是'SELECT * FROM alarms ORDER BY [date]',实际上SQLite希望围绕关键字使用双引号但方括号被接受为兼容性,很容易写http://www.sqlite.org/lang_keywords.html – Steve 2013-04-22 20:09:57