我正在C#中使用Sqlite数据库,当我将日期插入数据库时,一切正常(格式为MM.YYYY
)。不过,当我更新数据库时,sqlite 会截去前导零,因此09.2019
会显示为9.2019
。但是对于进一步的操作而言,重要的是要保留前导零。
创建表“ credits”时,我使用TEXT作为存储日期。
我向您展示了一些如何更新数据库的代码:
SQLiteCommand command = new SQLiteCommand(databaseConnection);
command.CommandText = "Update credits Set lastDate = " + date +
" WHERE ID=" + Convert.ToString(index);
command.ExecuteScalar();
答案 0 :(得分:3)
尝试参数化您的查询;您只需要提供date
并让RDBMS进行工作(包括格式,表示形式等)即可。
// 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();
}