我想用C#从SQLite数据库中读取一个双精度和日期。
数据库:
代码:
SQLiteConnection dbConnection = new SQLiteConnection("Data Source = " + nameDB + ".sqlite; Version = 3;");
dbConnection.Open();
String sql = $"SELECT * FROM banking";
SQLiteCommand command = new SQLiteCommand(sql, dbConnection);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("date: " + Convert.ToDateTime( reader["date"]) );
Console.WriteLine("money: " + reader["money"]);
}
dbConnection.Close();
问题出在我的数据库数据是这样的:
date: 28.06.2017 14:45:24
money: 20,50
我的输出是这样:
reader[date]: 28,06
reader[money]: 20
我可以说读者将money
读为double
,将date
读为DateTime
吗?
答案 0 :(得分:1)
reader.GetDouble(reader.GetOrdinal("money"));
reader.GetDateTime(reader.GetOrdinal("date"))
有关SqliteDataReader
的所有可用方法,请参考Docs
答案 1 :(得分:0)
对double
和DateTime
使用解析方法。试试:
while (reader.Read())
{
var date =DateTime.Parse(reader["date"].ToString());
var money = double.Parse(reader["money"].ToString("0.##"));
}