Получение DateTime в переменную из Sql

Sherminator

Client
Регистрация
10.09.2021
Сообщения
992
Благодарностей
535
Баллы
93
Доброго времени суток, имеется база данных с полем где хранится дата, поле формата DATETIME (DATE тоже пробовал). Туда записано значение вот такого формата 19.06.2022

И я вот таким вот образом пытаюсь это значение от туда вычитать и положить в переменную

C#:
SQLiteCommand sQLiteCommand = new SQLiteCommand(ProfileStringRequest, sqliteConnection);

            try
            {
                SQLiteDataReader reader = sQLiteCommand.ExecuteReader();
                while (reader.Read())
                {               
                    var date = reader.GetDateTime(0).ToString("dd.MM.yyyy");
                    project.SendInfoToLog(date);
                }
             }
Постоянно вылетает ошибка: Строка не распознана как действительное значение DateTime.

Не понимаю что ему не нравится? И через GetValue пробовал получить, вообще ни в какую не хочет мне его отдавать. Запрос к таблице точно нормально сформирован, помимо этого значения я еще 3 штуки получаю (типа int и string ) и все нормально отдается, а вот именно на этой строке постоянно экспешн вылетает.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
793
Благодарностей
812
Баллы
93
как вариант хранить дату в БД в таком формате - 2022-06-18 14:49:30 . но вероятно должно быть и другое решение.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
793
Благодарностей
812
Баллы
93
вместо GetValue(int) используй GetString(int)
 
  • Спасибо
Реакции: Sherminator

Sherminator

Client
Регистрация
10.09.2021
Сообщения
992
Благодарностей
535
Баллы
93

Sherminator

Client
Регистрация
10.09.2021
Сообщения
992
Благодарностей
535
Баллы
93
как вариант хранить дату в БД в таком формате - 2022-06-18 14:49:30 . но вероятно должно быть и другое решение.
Щас потестил, там без разницы в каком формате хранить, вот таким образом ее можно получить в любом удобном тебе формате

C#:
var date = Convert.ToDateTime(reader.GetString(0)).ToString("dd.MM.yyyy");
И вместо точек можно другой разделитель сделать, можно секунды добавить с минутами
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)