我的查询构建器出了问题。我有一个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列的内容,以便我的代码能够正常工作。
答案 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);
}
}