SQLITE обрезает нули при обновлении базы - PullRequest
0 голосов
/ 21 октября 2019

Я работаю с базой данных Sqlite в C #, когда я вставляю в нее свою дату, все работает нормально (в формате MM.YYYY). Тем не менее, когда я обновляю базу данных, sqlite обрезает начальные нули , поэтому 09.2019 отображается как 9.2019. Но для дальнейших операций важно, чтобы начальный ноль оставался на своем месте.

При создании таблицы «кредиты» я использую ТЕКСТ для даты ее сохранения.

Я покажу вам некоторый кодкак я обновляю базу данных:

SQLiteCommand command = new SQLiteCommand(databaseConnection);

command.CommandText = "Update credits Set lastDate = " + date +
     " WHERE ID=" + Convert.ToString(index);

command.ExecuteScalar();

1 Ответ

3 голосов
/ 21 октября 2019

Попробуйте параметризовать ваш запрос;все, что вы должны предоставить - это date и позволить СУБД выполнять свою работу (включая форматы, представление и т. д.)

// using - do not forget to Dispose (i.e. free resources)
using (SQLiteCommand command = new SQLiteCommand(databaseConnection)) {
  // Do not build query, but parametrize it
  command.CommandText = 
     @"update credits 
          set lastDate = @prm_Date
        where ID = @prm_ID";

  // Parameters instead hardcoding
  //TODO: better put command.Parameters.Add(Name, Value, Type)
  command.Parameters.AddWithValue("@prm_Date", date);
  command.Parameters.AddWithValue("@prm_ID", index);

  // Non query : we don't want to return even a single value, right?
  command.ExecuteNonQuery();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...