【问题标题】:Xamarin SQLite-Pcl-Net DateTIme in Query查询中的 Xamarin SQLite-Pcl-Net DateTIme
【发布时间】:2023-04-10 12:02:02
【问题描述】:

我正在使用 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 数据类型的变量:

StartD MM/dd/yyyy 00:00:00

EndD MM/dd/yyyy 23:59:59

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

SQLite.SQLiteException: near "12": syntax error

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

【问题讨论】:

    标签: xamarin xamarin.forms xamarin.ios xamarin.android sqlite-net-pcl


    【解决方案1】:

    在 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 + ")");
    

    【讨论】:

      猜你喜欢
      • 2021-01-13
      • 2019-07-01
      • 2023-03-19
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      相关资源
      最近更新 更多