首页 > 解决方案 > 我如何在sqlite中存储日期值

问题描述

我目前正在尝试将数据库添加到我的 WindowsForms 代码中。该程序当前要求用户使用日期选择器输入日期时间。然后将数据存储在名为 的类的属性中invoice。我希望该类的此属性与同一类的所有其他属性一样作为列添加到数据库中。我将如何添加它,因为 sqlite 不支持日期时间数据结构。注意:我是一个初级程序员,这就是为什么我使用 sqlite 而不是 sql server。

标签: c#windows-forms-designer

解决方案


您可以使用FindAll来实现您的结果。

var filterObjects = lstInvoices.FindAll(x => x.InvoiceDate > DateTime.Now.AddDays(-2) && x.InvoiceDate < DateTime.Now.AddDays(2));

完整示例

发票类

 public class Invoice
    {
        public Invoice(int id, DateTime invoiceDate)
        {
            Id = id;
            InvoiceDate = invoiceDate;
        }
        public int Id { get; set; }
        public DateTime InvoiceDate { get; set; }
    }

插入虚拟数据

var lstInvoices = new List<Invoice>();
        for (int i = 0; i < 10; i++)
        {
            lstInvoices.Add(new Invoice(1, DateTime.Now.AddDays(-i + 5)));
            lstInvoices.Add(new Invoice(2, DateTime.Now.AddDays(-i + 5)));
            lstInvoices.Add(new Invoice(3, DateTime.Now.AddDays(-i + 5)));
        }

过滤今天-2 到今天+2 的记录

var filterObjects = lstInvoices.FindAll(x => x.InvoiceDate > DateTime.Now.AddDays(-2) && x.InvoiceDate < DateTime.Now.AddDays(2));

filterObjects包含你想要的结果


推荐阅读