我有一个名为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(...)”而不是我想要查找的表的组件。你能帮帮我吗?
答案 0 :(得分:0)
你应该移动这一行
MySqlDataAdapter da = new MySqlDataAdapter(mySelectQuery, constring);
在if语句下面的。就像现在一样,在修改之前用字符串中的任何内容进行查询。
您应该添加一项检查,以确保选择索引是您期望的两个之一
else
{
mySelectQuery = "Select 'Invalid dropdown selection'";
}