0

我有一个名为应用程序的数据库,我想制作一个表格,用于从我的数据库表书中进行搜索。我制作了一个列表框,其中包含“作者”和“书名”项目以及一个文本框,用户将在其中键入他们想要搜索的作者或书名。这是我的代码:

    string constring = "datasource=localhost;port=3306;username=root;password=****;";
    MySqlConnection conDatabase = new MySqlConnection(constring);
    string mySelectQuery = "";
    MySqlDataAdapter da = new MySqlDataAdapter(mySelectQuery, constring);
    if (listBox3.SelectedIndex == 0)
    {
        mySelectQuery =  "select * from apps.books where book_author LIKE @name ";
    }
    else if (listBox3.SelectedIndex == 1)
    {
        mySelectQuery = "select * from apps.books where book_name LIKE @name ";
    }

    da.SelectCommand.Parameters.AddWithValue("@name", "%" + textBox1.Text + "%");
    MessageBox.Show(mySelectQuery);
    conDatabase.Close();

当我按下搜索按钮时出现问题,消息显示“Select * from (...)”而不是我要查找的表格组件。你可以帮帮我吗?

4

1 回答 1

0

你应该移动这条线

MySqlDataAdapter da = new MySqlDataAdapter(mySelectQuery, constring);

在 if 语句下方。就像现在您在修改字符串之前使用字符串中的任何内容进行查询一样。

您应该添加一个检查以确保选择索引是您期望的两个之一

else
{
    mySelectQuery = "Select 'Invalid dropdown selection'";
}
于 2013-08-28T11:37:08.210 回答