查询生成器的DATE类型

时间:2015-06-19 12:43:12

标签: c# date query-builder

我的查询构建器出了问题。我有一个datagridview,我想过滤。我想允许通过" NAME,SURNAME,DATE"进行搜索。这是我的SQL QUERY

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

这是我的C#代码,我打电话给'查询

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'到'字符串'。"

我知道错误在哪里,但我不知道如何解决它。我的查询是在'查询构建器中编写的。在项目DataSet中。我去了exDate,exName和exSurname的 FILTER 列,我写了(问号)。查询构建器自动将其转换为上述形式" = @Param1"," = @ Param2"和" = @ Param3"。

我知道我不能将DateTime视为字符串,但不知道写入查询构建器的FILTER列的内容,以便我的代码能够正常工作。

1 个答案:

答案 0 :(得分:0)

你必须声明一个字符串变量,它才能工作!

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);
      }
    }