Считать Double и DateTime из базы данных NOSQL - PullRequest
0 голосов
/ 04 июля 2018

Я хочу прочитать двойное число и дату из базы данных SQLite с C #.

База данных:

  • дата: числовой
  • деньги: реальные

Код:

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 голосов
/ 04 июля 2018
reader.GetDouble(reader.GetOrdinal("money"));
reader.GetDateTime(reader.GetOrdinal("date"))

см. Документы для всех доступных методов для SqliteDataReader

0 голосов
/ 04 июля 2018

Используйте методы Parse для double и DateTime. Попробуйте как:

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