【发布时间】:2016-06-20 02:39:30
【问题描述】:
我正在使用 C# (.NET) 和 SQLite 数据库。 我在 SQLite 数据库中有一个表,其中有一列名为“InvoiceDate”。我选择了与 TEXT 相同的数据类型(在 db 表中),因为我需要它作为日期时间变量。
我正在使用System.Data.SQLite reference。
以下是我遇到问题的命令文本:
command.CommandText = "SELECT * FROM InvoiceMaster WHERE InvoiceDate BETWEEN '"
+ date1.ToString() + "' AND '"
+ date2.ToString() + "' ORDER BY InvoiceNumber";
我需要查找 InvoiceDate 列介于给定日期 date1 和 date2 之间的所有结果。但问题是,即使我选择了其他日期,我也会得到结果,例如,即使我选择了不同的年份,我也会在同一个月份和日期得到相同的结果。命令文本有问题,我还需要知道我应该在 db 表中选择什么类型的数据类型。请让我知道我应该如何编写选择命令。
【问题讨论】:
-
Possible SQL Injection 使用准备好的语句/参数绑定,你的问题就迎刃而解了。
-
能否给我一个示例代码...
-
你先做基础研究了吗?您在提供的链接中有示例
-
只是想在谷歌中找到它.....
-
您需要正确格式化日期字符串...
标签: c# database sqlite datetime