DATE 类型的查询生成器

Query Builder for DATE type

我的查询生成器有问题。我有一个要过滤的数据网格视图。我想允许按 "NAME, SURNAME, DATE" 进行搜索。这是我的 SQL QUERY

SELECT exDate, exName, exSurname FROM examines
WHERE (exDate = @Param1) AND (exName = @Param2) AND (exSurname = @Param3)

这是我的 C# 代码,其中我 'call' 查询

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        this.examinesTableAdapter.FillBy(this.dbSpinDataSet.examines, dateTimePicker1.Value, textBox2.Text, textBox3.Text);
    }
    catch (SystemException ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

在 VS 中我得到 2 个错误:

"...Project1.dbSpinDataSetTableAdapters.examinesTableAdapter, string, string, string)' 有一些无效参数。" “...无法从 'System.Windows.Forms.DateTimePicker' 转换为 'string'。”

我知道错误在哪里,但我不知道如何解决。我的查询是在项目数据集中的 'query builder' 中编写的。我去了 FILTER 列的 exDate、exName 和 exSurname,然后我写了 ?(问号)。查询生成器自动将其转换为上述形式 "= @Param1", "= @Param2" 和 "= @Param3".

我知道我不能将 DateTime 视为字符串,但不知道要将什么写入查询生成器的 FILTER 列才能使我的代码正常工作。

你必须声明一个字符串变量,它会起作用!

private void button1_Click(object sender, EventArgs e)
   {
      string your_string = dateTimePicker1.Value.ToString();
      try
      {
          this.examinesTableAdapter.FillBy(this.dbSpinDataSet.examines, your_string, textBox2.Text, textBox3.Text);
      }
      catch (SystemException ex)
      {
        System.Windows.Forms.MessageBox.Show(ex.Message);
      }
    }