【发布时间】:2020-08-27 23:07:11
【问题描述】:
我想将选定的日期从 monthCalender 控件复制到 c# 中的 sqlite db。 试图用 ToString 来做:给了我这种形式的字符串(MM-DD-YYYY-00:00:00 AM)和一个逻辑错误 来自sqlite。 尝试使用 ToShortDateString:它给了我这个字符串 (MM-DD-YYYY)。 sqlite 没有错误,直到再次检查记录。这次错误是“字符串无法识别 作为有效的日期时间”。 我知道 sqlite 的日期格式是 YYYY-MM-DD。 我必须转换字符串吗?
string startdate = monthCalendar1.SelectionRange.Start.ToShortDateString();
string query = $"UPDATE status SET user = {listBox1.SelectedValue}" +
$" , userbadge = {listBox2.SelectedValue} "+
$" , date = {startdate}" +
$" WHERE status.id = {index}";
openConnection();
SQLiteCommand com = new SQLiteCommand(query, connection);
com.ExecuteNonQuery();
closeConnection();
【问题讨论】:
-
表定义是什么?您使用的是哪个驱动程序?我不建议将其用于执行更新。它会打开您的应用程序以进行 SQL 注入。
-
我真的建议使用 Parameters (如果这是 Microsoft.Data.SQLite) 。它们也使处理 DateTime 变得更容易。事实上,这可能会让你的问题完全消失。