错误:'ItemRecord'运算符后缺少操作数

时间:2017-01-20 13:49:45

标签: c# sql database visual-studio datagridview

我想在dataGridView中显示特定日期的过滤值。我尝试了很多选项,但没有一个可行。我想在datagridview中显示特定日期的记录。请给我一些解决方案。

    string plus = dateTimePicker1.Value.AddDays(1).ToString();
    string date = dateTimePicker1.Value.ToString();
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = new SqlCommand("SELECT * FROM ItemRecord", con);
    var dataset = new DataSet();
    adapter.Fill(dataset);
    this.itemRecordBindingSource.Filter = string.Format("SELECT * FROM ItemRecord WHERE cast(date as date) between '" + date +"' and '"+ plus +"'");

2 个答案:

答案 0 :(得分:0)

  

To form a filter value, specify the name of a column followed by an operator and a value to filter on.

因此.Filter = "columnname = 'something'";有效,SELECT不是。

对于可以使用see this的表达式,

CAST()也无效,因为过滤器不会使用SQL重新查询数据库。 (您将使用CONVERT()

要使用您考虑的内容,请考虑将WHERE子句添加到初始查询中。

答案 1 :(得分:0)

您可以在从DB中选择时应用您的条件来解决此问题,或者您应该像这样更改您的代码

Arr(position,1)