从NOSQL数据库中读取Double和DateTime

时间:2018-07-04 10:12:16

标签: c# sqlite datetime double

我想用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吗?

2 个答案:

答案 0 :(得分:1)

reader.GetDouble(reader.GetOrdinal("money"));
reader.GetDateTime(reader.GetOrdinal("date"))

有关SqliteDataReader的所有可用方法,请参考Docs

答案 1 :(得分:0)

doubleDateTime使用解析方法。试试:

while (reader.Read())
{
    var date =DateTime.Parse(reader["date"].ToString());
    var money = double.Parse(reader["money"].ToString("0.##"));
}