C# 尝试筛选搜索结果时出现错误“[Product_Name]找不到”

C# 尝试筛选搜索结果时出现错误“[Product_Name]找不到”,c#,C#,我发现了这个错误,我检查了我的列名,它是正确的, 以下是我的代码: public partial class Search : Form { private OleDbConnection connection = new OleDbConnection(); DataTable DT = new DataTable(); public Search() { InitializeComponent(); connection.Con

我发现了这个错误,我检查了我的列名,它是正确的, 以下是我的代码:

public partial class Search : Form
{
    private OleDbConnection connection = new OleDbConnection();
    DataTable DT = new DataTable();
    public Search()
    {
        InitializeComponent();
        connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\StockRecord.accdb; Persist Security Info=False;";

    }
{   
    try
    {
      connection.Open();
      DataView DV = new DataView(DT); //DT has been declared as a global variable for a DataTable.
      DV.RowFilter = String.Format("Product_Name LIKE '%{0}%'", radTextBox1.Text);
      dataGridView1.DataSource = DV;
      connection.Close();
     }
     catch (Exception S)
     {
       MessageBox.Show("" + S);
     }
}
}

你应该有这样的东西:

public partial class Search : Form
{
  private OleDbConnection connection = new OleDbConnection();
  DataTable DT = new DataTable();
  public Search()
  {
    InitializeComponent();
    connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\StockRecord.accdb; Persist Security Info=False;";

    try
    {
      connection.Open();
      SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Product", connection);
      da.Fill(DT);
      DataView DV = new DataView(DT); //DT has been declared as a global variable for a DataTable.
      DV.RowFilter = String.Format("Product_Name LIKE '%{0}%'", radTextBox1.Text);
      dataGridView1.DataSource = DV;
      connection.Close();
     }
     catch (Exception S)
     {
       MessageBox.Show("" + S);
     }
  }
}

Product是您的表名。

您确定您的DataTable中有一个名为Product\u name的列吗?你能展示一下你的数据表是如何声明和填充的代码部分吗?是的。{private OleDbConnection connection=new OleDbConnection;DataTable DT=new DataTable;public Search{InitializeComponent;connection.ConnectionString=@Provider=Microsoft.ACE.OLEDB.12.0;数据源=| DataDirectory | \StockRecord.accdb;持久化安全信息=False;;}用问题下方的“编辑”按钮将其粘贴到问题上。我看不到您的数据表中有任何已填充的部分。您在哪里填充数据表?好的!我会这样做,然后继续讨论此问题。谢谢您的帮助!: