0

我正在使用 Xamarin Prism 和 Sqlite-pcl-net Nuget 。

当我编写查询以获取一系列日期之间的表元素时,如下所示

 public Task<List<JournalModel>> GetRecieptListAsync(DateTime startdate,DateTime enddate)
        {
            return database.QueryAsync<JournalModel>("SELECT * FROM [JournalModel] WHERE ( [PromisedDate] BETWEEN " + startdate + " AND " + enddate + ")");
        }

StartD 和 EndD 是 Format 的 DateTime 数据类型的变量:

开始D MM/dd/yyyy 00:00:00

EndD MM/dd/yyyy 23:59:59

执行此查询后,我得到一个

SQLite.SQLiteException: near "12": syntax error

这意味着在 StartD 的时间。我希望您知道数据库中的 StartD 需要 12:00:00Am。如果我必须做出更多澄清,请发表评论。

4

1 回答 1

0

在 SQLite-pcl-net 中,日期时间的默认格式是 Ticks。

您可以将 startdate 更改为 startdate.Ticks 并将 enddate 更改为 enddate.Ticks。

return database.QueryAsync<JournalModel>("SELECT * FROM [JournalModel] WHERE ( [PromisedDate] BETWEEN " + startdate.Ticks + " AND " + enddate.Ticks + ")");
于 2018-11-12T16:41:14.753 回答