在按钮上使用sql select命令发出问题

时间:2013-08-28 11:31:09

标签: c# sql

我有一个名为apps的数据库,我想从我的数据库表书中创建一个表单进行搜索。我创建了一个列表框,其中包含“作者”和“书名”项以及一个文本框,用户将在其中键入要搜索的作者或书名。这是我的代码:

    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(...)”而不是我想要查找的表的组件。你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

你应该移动这一行

MySqlDataAdapter da = new MySqlDataAdapter(mySelectQuery, constring);
在if语句下面的

。就像现在一样,在修改之前用字符串中的任何内容进行查询。

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

else
{
    mySelectQuery = "Select 'Invalid dropdown selection'";
}