【发布时间】:2017-01-09 17:17:44
【问题描述】:
我有一个使用 SQLite 数据库的程序,它需要在过期日期低于当前时间后删除一行。我尝试与之交互的表有一个字段,其中包含 id、名称、到期日期、进入日期、客户代码,每个客户都有不同的到期日期,并且使用以下方法检索此数据:
DateTime.Now.AddDays(numberofdaysstaying)
当前时间通过以下方式检索:
日期时间.现在
我的 sql 代码在另一个名为 sqlManager 的类中执行,我用来自动删除的函数是:
public void Autodelete()
{
using (SQLiteConnection sqlConn = new SQLiteConnection("Data Source=projecto.sqlite;Version=3;"))
{
sqlConn.Open();
//create command
SQLiteCommand sqlCommand = new SQLiteCommand("DELETE FROM cliente WHERE expirationDate < @td", sqlConn);
sqlCommand.Parameters.AddWithValue(Datetime.Now));
sqlCommand.ExecuteNonQuery();
}
这实际上并没有什么作用,没有例外或类似的东西......它只是没有删除任何东西。关于如何完成这项工作的任何提示?
【问题讨论】:
-
@Plutonix 作为日期时间
-
@Plutonix 是对的;那么你是如何存储你的 DateTime 的呢?
-
如果他选择 datetime 作为列类型,则 real 列类型由类型关联设置为 numeric,如记录@ 987654321@
-
"expirationDate DATETIME" @Plutonix
-
@SirRufo 是的,我确实选择了它在数据库中显示为“30/08/2016 11:55:43”的日期时间