如何在 SQLite 表中插入日期和查询日期
Posted
技术标签:
【中文标题】如何在 SQLite 表中插入日期和查询日期【英文标题】:How to insert date and Query date in SQLite table 【发布时间】:2013-10-17 17:54:08 【问题描述】:我对SQLite的处理日期不熟悉。
问题:
我可以这样插入日期还是使用 DateTime 插入任何日期来创建。
Order_Date = DateTime.Today
如何:
a) 如何使用选择或查询记录集基或 Order_Date ?
b) 如何根据日期范围选择或查询记录集?从这个日期到这个日期。
谢谢
上课顺序 [主键,自动增量] 公共 int SId 获取;放; 公共 int CustId 获取;放; 公共字符串没有得到;放; 公共字符串客户获取;放; 公共日期时间 Order_Date 获取;放; 使用 (var db = new SQLite.SQLiteConnection(DBPath)) var newOrder = 新订单() CustId = g_intCustId, 客户 = txtBlkCustomer.Text.Trim(), Order_Date = DateTime.Today ; db.Insert(newOrder); ----- 更新: 1)我想知道将日期插入到表中的 dateTime DataType 字段中的正确方法是什么?使用来自 DateTime.Today、DateTime.Now 的日期 2)输入日期时需要在SQLite表中添加哪些字段 a) 正常日期格式 (dd/mm/yyyy) b) 格式如:日期与 HHMMSS 3)如何查询或选择(2a)和(2b)的日期? 谢谢【问题讨论】:
【参考方案1】:我可以这样插入日期还是使用 DateTime 插入任何日期来创建。
Order_Date = DateTime.Today
是的,DateTime.Today
虽然插入会起作用。 SQLite 在内部将 DateTime
对象存储为字符串。
如何使用选择或查询记录集基或 Order_Date ?
using (var db = new SQLite.SQLiteConnection(ApplicationData.Current.LocalFolder.Path + "\\aaa.sqlite"))
// You can use any one
var list2 = db.Query<Order>("SELECT * FROM Order WHERE Order_Date = datetime('2013-10-01')", "");
var list3 = db.Query<Order>("SELECT * FROM Order WHERE Order_Date = ?", DateTime.Today.AddDays(-5));
如何根据日期范围选择或查询记录集?从这个日期到这个日期。
using (var db = new SQLite.SQLiteConnection(ApplicationData.Current.LocalFolder.Path + "\\aaa.sqlite"))
// You can use any one
var list = db.Query<Order>("SELECT * FROM Order WHERE Order_Date BETWEEN datetime('2013-10-01') AND datetime('2013-10-07')", "");
var list1 = db.Query<Order>("SELECT * FROM Order WHERE Order_Date BETWEEN ? AND ?", DateTime.Today.AddDays(-9), DateTime.Today.AddDays(-3));
SQLite Date And Time Functions
【讨论】:
datetime('2013-10-07')
不是没有意义吗?这将返回'2013-10-07 00:00:00'
。 2013-10-07 12:00:00
的订单怎么样?它将无法查询!
我使用了datetime('2013-10-07')
,因为 OP 将订单日期传递为DateTime.Today
而不是DateTime.Now
所以,最好使用date()
!并使用文字'2013-10-07'
,因为函数调用没有做任何事情!
SQLite 的 date() 和 datetime() 有什么不同吗?文字后面必须跟 year,Day,Month(英国日期)或美国日期 :year,Month,Day。我不确定。
date()
只会解析日期,它不会接受时间。 Fot文字格式请看this【参考方案2】:
浏览下面的链接
Windows Phone 7 Native Database Programming via Sqlite Client for Windows Phone
SQLite-WinRT: Database programming on Windows Phone and Windows 8
How to use SQLite in Windows Phone
希望对你有帮助
【讨论】:
我可以在 WinRT 应用程序中同时使用 SQLite-Net 和 SQLite-WinRT 来创建相同的 SQLite 数据库吗? @MilkBottle:是的,但我的建议是你使用 Windows Phone 7 Native Database Programming via Sqlite Client for Windows Phone.bcos 这对你来说变得非常容易以上是关于如何在 SQLite 表中插入日期和查询日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Xamarin Forms 中将日期、日期时间和时间保存到 SQLite 数据库?