【问题标题】:Could not retrieve data from SQLite when using DateRange使用 DateRange 时无法从 SQLite 检索数据
【发布时间】:2014-02-11 09:16:16
【问题描述】:

这很奇怪。为什么这不起作用? 即使我有搜索说使用这种格式,我也很难获取数据:yyyy-mm-dd

tblSalesOrderHeader 中的 Order_Date 是正常的 DateTime 。我在 SQLITE 插入操作中这样插入:Order_Date = DateTime.Today。

SQL语句中如何处理这个Order_Date?

感谢您的帮助。

使用同一张表 SalesOrderHeader 问题 : 项目(1)正在工作 Item(2) 无法使用 DateRange 检索记录 开始日期和结束日期以这种字符串格式转换:yyyy-mm-dd 我用它来转换日期时间: 私有字符串 DateTimeSQLite(DateTime 日期时间) { 字符串 dateTimeFormat = "{0}-{1}-{2}"; return string.Format(dateTimeFormat, datetime.Year, datetime.Month, datetime.Day); } //-- 1 : 工作 var query = db.Query("Select * From SalesOrderHeader Where DataEntryComplete ='" + "0'" + " AND Is_SyncToNAV ='0" + "'"); //--2 : 不工作 var query = db.Query ("Select * From SalesOrderHeader WHERE Order_Date BETWEEN '" + Begin +"'" + " AND '" + End +"'" + " AND DataEntryComplete ='" + "0'" + " AND Is_SyncToNAV ='0" + "'");

【问题讨论】:

  • 有区别吗?我真的不知道。如上所述,我使用我自己的格式转换器。
  • 首先,用一个简单的ToString 方法替换您的DateTimeSQLLitedatetime.ToString("yyyy-MM-dd"),结果为2014-02-15。错误是否仍然存在?
  • 问题依旧。
  • 我注意到在 SQLite DB 中,DateTime 格式是:yyyy-MM-dd 00:00:00。所以我必须将日期转换为这种格式。我在日期格式中添加了 00:00:00 并且它有效。这是正确的方法吗?

标签: c# sqlite windows-phone-8 winrt-xaml


【解决方案1】:

尝试使用 'DateTime.ToShortDateString()' 将获取 yyyy-MM-dd 格式的日期字符串

【讨论】:

  • M.Mimpen 的格式是正确的,我相信你的格式是一样的。我的问题是时间部分(00:00:00)。由于您的方法不会以这种方式返回 yyyy-MM-dd 00:00:00 。我的问题是如果我添加这个时间部分,这是否是正确的方法。
  • 你能在执行查询时改变'Order_Date'的格式吗,像这样。 "select * from salesorderheader where order_date.toshortdatestring() 在 begin.toshortdatestring() 和 end.toshortdatestring() 之间
  • 您必须在执行时将所有日期时间对象的格式更改为通用格式,以便所有日期时间对象的格式相同。
猜你喜欢
  • 1970-01-01
  • 2015-01-11
  • 1970-01-01
  • 1970-01-01
  • 2012-09-20
  • 2019-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多