DateTimePicker 和 PostgreSQL 数据 Table 搜索

DateTimePicker and PostgreSQL Data Table search

我正在尝试在两个日期之间使用 DateTimePicker 搜索 DataGridView,我不确定这是否是正确的方法。这是我的代码:

 private void btnsearch_Click(object sender, EventArgs e)

    {

        if (comboBox1.Text == "Document Date")
        {
            CRUD.cmd = new NpgsqlCommand("SELECT * FROM archive WHERE docdate BETWEEN '" + dtpFrom.Text + "' AND '" + dtpTo.Text + "'", CRUD.con);
            NpgsqlDataAdapter da = new NpgsqlDataAdapter();
            DataTable dt = new DataTable();
            da.SelectCommand = CRUD.cmd;
            dt.Clear();
            da.Fill(dt);
            grid.DataSource = dt;
        }
    }

我的 DateTimePicker 在设计器上显示时具有以下格式:27.11.2020。 postgreSQL table 中的格式照常是 2020-11-27。 这是我收到的错误:Npgsql.PostgresException: '22008: date/time 字段值超出范围:“27.11.2020.”' 我知道我必须更改格式但不完全确定该怎么做。有点愚蠢的问题,但我真的是 PostgreSQL 和 C# 的新手,所以任何帮助将不胜感激。

使用这个查询,这可能有效:

SELECT * FROM archive WHERE docdate::TIMESTAMP BETWEEN 
(split_part('27.11.2020', '.',2)||'/'||split_part('27.11.2020', '.',1)||'/'||split_part('27.11.2020', '.',3))::TIMESTAMP
--'" + dtpFrom.Text + "' 
AND 
(split_part('27.11.2020', '.',2)||'/'||split_part('27.11.2020', '.',1)||'/'||split_part('27.11.2020', '.',3))::TIMESTAMP
--'" + dtpTo.Text + "'

//已编辑

复制粘贴以下代码:

private void btnsearch_Click(object sender, EventArgs e)
    {

        if (comboBox1.Text == "Document Date")
        {
            CRUD.cmd = new NpgsqlCommand("SELECT * FROM archive WHERE docdate::TIMESTAMP BETWEEN (split_part('" + dtpFrom.Text + "', '.',2)||'/'||split_part('" + dtpFrom.Text + "', '.',1)||'/'||split_part('" + dtpFrom.Text + "', '.',3))::TIMESTAMP AND (split_part('" + dtpTo.Text + "', '.',2)||'/'||split_part('" + dtpTo.Text + "', '.',1)||'/'||split_part('" + dtpTo.Text + "', '.',3))::TIMESTAMP", CRUD.con);
            NpgsqlDataAdapter da = new NpgsqlDataAdapter();
            DataTable dt = new DataTable();
            da.SelectCommand = CRUD.cmd;
            dt.Clear();
            da.Fill(dt);
            grid.DataSource = dt;
        }
    }