【问题标题】:How to select records for the date range in sqlite如何在sqlite中选择日期范围的记录
【发布时间】:2015-01-17 07:22:43
【问题描述】:

我的date 列是Text 类型,我以dd/mm/yyyy 格式存储值。我想获取日期范围表单 dateTimePickers 之间的记录。喜欢

select * from [Table] where date([date]) between 
date(dtpicker1.value.ToShortDateString().ToString()) and 
date(dtpicker2.value.ToShortDateString().ToString());

怎么做?

【问题讨论】:

  • 你为什么使用这种格式?你不能用supported format吗?
  • 我必须按照用户要求使用该格式。假设我将使用支持的格式,我必须为每个 DateTimePicker 编写代码。否则我将不得不更改系统日期格式,这对用户来说也不方便。
  • 而当用户的日期格式发生变化时,数据库中的所有数据都会出错?

标签: c# .net winforms sqlite date


【解决方案1】:

解决了,但有点棘手。

        string qry = "select * from [table]";
        DataTable vt = new DataTable();
        SQLiteDataAdapter da = new SQLiteDataAdapter(q, connectionString);
        da.Fill(vt);

        foreach (DataRow row in vt.Rows)
        {
            if (Convert.ToDateTime(row["DATE"].ToString()) >= Convert.ToDateTime(FromDate)
                && Convert.ToDateTime(row["DATE"].ToString()) <= Convert.ToDateTime(ToDate))
            {
                continue;
            }
            else
            {
                row.Delete();
            }
        }

        vt.AcceptChanges();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多