OleDbCommand select 没有 return 预期行

OleDbCommand select does not return expected rows

我有两个Access table,分别是Projects,包括projectTitle 和partyID 行,以及ProjectParty,包括title 和ID 行。

 private void btnSearch_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=HesabKetab.accdb;Persist Security Info=False;";

            //在数据库中搜索
            OleDbCommand oleCmd = new OleDbCommand();
            oleCmd.Connection = conn;
            如果(radioBtnByTitle.Checked)
            {
                oleCmd.CommandText = "SELECT * FROM Projects WHERE projectTitle=@projectTitle";
                oleCmd.Parameters.AddWithValue("@projectTitle", txtProjectTitle.Text);
            }
            否则如果(radioBtnByParty.Checked)
            {
                oleCmd.CommandText = "SELECT * FROM Projects WHERE partyID=@partyID";
                oleCmd.Parameters.AddWithValue("@partyID", comboParty.SelectedValue.ToString());
            }

            //执行查询
            OleDbDataAdapter ole_da = new OleDbDataAdapter(oleCmd);
            DataTable dt= new DataTable();
            尝试
            {
                conn.Open();
                ole_da.Fill(dt);

            }
            赶上(异常前)
            {
                MessageBox.Show(ex.ToString());
            }
            dataGridViewDisplaySearchResults.DataSource = dt;
            conn.Close();

        }

在上面的代码中,我试图检索 Projects Access 数据库 table 的值。第二个 if 成功并将查询的行加载到 DataGridView 中。但是第一个 if (当为真时)没有 return 预期值。事实上,它不会将任何内容加载到 DataGridView 中。我不知道为什么当我尝试基于 projectTitle 执行 select 时查询不起作用。我尝试调试但不知道哪些参数被传递给 select 命令。我哪里错了?

而不是第一个条件中的txtProjectTitle.ToString(),是不是txtProjectTitle.Text