显示数据从mysql数据库到列表框(数据选择从组合框)c#
本文关键字:数据 选择 组合 列表 mysql 数据库 显示 | 更新日期: 2023-09-27 17:50:30
所以我试图显示数据从数据库到列表框。但是我想看到的数据我在组合框中选择,所以我打开组合框选择数据,然后它应该显示我一些数字,我正在尝试一些东西,但我不确定它是否正确,请帮助我
代码:
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
string constring = "datasource=localhost;port=3306;username=root;password=";
string Query = "Select ocena From filmi.film Where film = @film"; ;
MySqlConnection conDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
cmdDataBase.Parameters.AddWithValue("@film", this.comboBox1.SelectedItem);
MySqlDataReader myReader;
try
{
conDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
while (myReader.Read())
{
listBox2.Items.Add(myReader);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
您应该引用要添加到列表框中的字段
listBox2.Items.Add(myReader["ocena"].ToString());
如果字段可能包含空值,则需要
string ocenaValue = (myReader.IsDBNull(myReader.GetOrdinal("ocena")) ?
string.Empty, myReader["ocena"].ToString());
listBox2.Items.Add(ocenaValue);
作为最后一个技巧,我建议在一次性对象周围使用Using语句。这样你的连接,命令和阅读器将被关闭和处置,当你完成使用它们,也在异常的情况下
string constring = "datasource=localhost;port=3306;username=root;password=";
string Query = "Select ocena From filmi.film Where film = @film"; ;
using(MySqlConnection conDataBase = new MySqlConnection(constring))
using(MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase))
{
try
{
conDataBase.Open();
cmdDataBase.Parameters.AddWithValue("@film", this.comboBox1.SelectedItem);
using(MySqlDataReader myReader = cmdDataBase.ExecuteReader())
{
while (myReader.Read())
{
string ocenaValue = (myReader.IsDBNull(myReader.GetOrdinal("ocena")) ?
string.Empty : myReader["ocena"].ToString());
listBox2.Items.Add(ocenaValue);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Ocena是数据库表还是表中的项?参考列名,而不是项目或数据库表,您将获得数据。例如
listBox2.Items.Add (myReader["电影"].ToString ());
将显示film
列中的所有项目你已经很久没有发帖了,但它可以帮助别人。