在我的代码中,我为每个按钮做了一种方法,例如我有鸡肉和牛肉按钮,当我在表格时单击"炸弹"按钮时,它们有自己的方法加载它的工作原理将显示在列表框中,但是当我在鸡肉后单击牛肉按钮时,它会向我展示一个系统。 如何解决?
private void Chicken()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select Chicken_Name,WithOrWithout_Name,Chicken_Price from Tbl_Add a full outer join tbl_Chicken b ON b.Chicken_ID = a.Chicken_ID full outer join Tbl_WithORWithot c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Chicken = new DataTable();
adapter.Fill(tbl_Chicken);
lst_SHowdata.DisplayMember = "Chicken_Name";
lstSHowdata2.DisplayMember = "Chicken_Price";
lst_SHowdata.ValueMember = "Chicken_ID";
lst_SHowdata.ValueMember = "Beef_ID";
lst_SHowdata.DataSource = tbl_Chicken;
lstSHowdata2.DataSource = tbl_Chicken;
}
}
private void Beef()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select Beef_Name,WithOrWithout_Name ,Beef_Price from Tbl_Add a full outer join Tbl_Beef b ON b.Beef_ID = a.Beef_ID full outer join Tbl_WithORWithot c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Beef = new DataTable();
adapter.Fill(tbl_Beef);
lst_SHowdata.DisplayMember = "Beef_Name";
lstSHowdata2.DisplayMember = "Beef_Price";
lst_SHowdata.ValueMember = "Beef_ID";
lst_SHowdata.ValueMember = "Chicken_ID";
lst_SHowdata.DataSource = tbl_Beef;
lstSHowdata2.DataSource = tbl_Beef;
}
}
private void button1_Click(object sender, EventArgs e)
{
Chicken();
}
private void button2_Click(object sender, EventArgs e)
{
Beef();
}
我试图通过对使异常的行进行评论来解决它
//lst_SHowdata.ValueMember = "Chicken_ID";
// lst_SHowdata.ValueMember = "Beef_ID";
和Kinda已修复,但是我需要两次单击该按钮,当我第一次单击它时,它将在listbox System.data.data.datarowview 中显示。 如何修复它并仅在第一次点击中显示它?
如果我错了,请纠正我。这就是如何理解。您正在尝试将数据绑定到按钮单击的列表框。您有2个列表框控件要绑定到。
在分配成员之前先分配数据源。它无法绑定,因为它尚未给出数据源。
private void Chicken()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select Chicken_Name,WithOrWithout_Name,Chicken_Price from Tbl_Add a full outer join tbl_Chicken b ON b.Chicken_ID = a.Chicken_ID full outer join Tbl_WithORWithot c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Chicken = new DataTable();
connection.Open(); //opens the connection
adapter.Fill(tbl_Chicken);
connection.Close(); //Closes the connection
lst_SHowdata.DataSource = tbl_Chicken; //assigns a datasource
lst_SHowdata.DisplayMember = "Chicken_Name"; //assigns display
lst_SHowdata.ValueMember = "Chicken_ID"; //assigns id
lst_SHowdata2.DataSource = tbl_Chicken;
lst_SHowdata2.DisplayMember ="Chicken_Price";
lst_SHowdata2.ValueMember = "Chicken_ID";
}
}
private void Beef()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select Beef_Name,WithOrWithout_Name ,Beef_Price from Tbl_Add a full outer join Tbl_Beef b ON b.Beef_ID = a.Beef_ID full outer join Tbl_WithORWithout c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Beef = new DataTable();
connection.Open();
adapter.Fill(tbl_Beef);
connection.Close();
lst_SHowdata.DataSource = tbl_Beef
lst_SHowdata.DisplayMember = "Beef_Name";
lst_SHowdata.ValueMember = "Beef_ID";
lst_SHowdata2.DataSource = tbl_Beef;
lst_SHowdata2.ValueMember = "Beef_ID";
lst_SHowdata2.DisplayMember = "Beef_Price";
}
}
您正在遇到错误 - 投诉。
要解决这个问题,请将数据源设置为tbl_beef,然后设置valuemember。
错误是因为估计者为" beef_id"one_answers" chicken_id"。这些在DataTable中不可用。您需要将其更改为" beef_name",或将" beef_id"包含在SQL Select语句中。同样,对于同一列表框,您正在设置两个不同的值成员。
正确的代码^^ it
private void Chicken()
{
using (connection = new SqlConnection(connectionString))
using (SqlDataAdapter adapter = new SqlDataAdapter("select * from Tbl_Add a full outer join tbl_Chicken b ON b.Chicken_ID = a.Chicken_ID full outer join Tbl_WithORWithot c ON a.WorWO_ID = c.WithOrWothout_ID ; ", connection))
{
DataTable tbl_Chicken = new DataTable();
connection.Open(); //opens the connection
adapter.Fill(tbl_Chicken);
connection.Close(); //Closes the connection
lst_Menu.DataSource = tbl_Chicken; //assigns a datasource
lst_Menu.DisplayMember = "Chicken_Name"; //assigns display
lst_Menu.ValueMember = "Chicken_Name";
lst_worwout.DataSource = tbl_Chicken;
lst_worwout.DisplayMember = "WithOrWithout_Name";
lst_worwout.ValueMember = "WithOrWithout_Name";
lst_Price.DataSource = tbl_Chicken;
lst_Price.DisplayMember = "Chicken_Price";
lst_Price.ValueMember = "Chicken_Price";
}
}