我已经将我的数据库与我的 Windows 窗体连接起来,我将我的数据库表列的值放在一个列表框中,我想做以下事情:当我从列表框中选择一个项目时,表的另一列将出现在另一个文本框中. 更具体地说,饮料名称出现在列表框中(浓缩咖啡、水等),当从列表框中选择它们时,我希望它们的价格出现在文本框中。我使用以下代码来做到这一点:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string constring = "datasource=localhost;port=3306;username=root;password=root;";
string Query = "select * from apps.drinks where drink_name is ='" + listBox1.Text + "'; ";
MySqlConnection conDatabase = new MySqlConnection(constring);
MySqlCommand cmdDatabase = new MySqlCommand(Query, conDatabase);
MySqlDataReader myReader;
conDatabase.Open();
myReader = cmdDatabase.ExecuteReader();
while (myReader.Read())
{
string dprice = myReader.GetString("drink_price");
pricebox.Text = dprice;
}
}
在我调试我的项目后,它成功地在列表框中显示了这些项目,但是当我选择它们时,我收到此错误“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法以使用在第 1 行的 '='Espresso'' 附近"
数据库中的代码如下:
DROP TABLE IF EXISTS `apps`.`drinks`;
CREATE TABLE `apps`.`drinks` (
`drink_name` varchar(45) NOT NULL,
`drink_price` varchar(45) NOT NULL,
PRIMARY KEY (`drink_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into apps.drinks (drink_name,drink_price)
values ('Nes','1'),('Espresso','1'), (...)
请问你能帮我吗??