希望你们都很好。我正在学校的软件。主屏幕上有两个按钮;学生信息列表&更新学生信息。单击更新学生信息,打开可以编辑学生信息的屏幕。当我点击组合框选择卷号时,它显示所有的好。但是当我回到主屏幕&单击学生信息列表;它打开数据网格视图(包含学生的所有信息)。然后我再次打开更新信息,它显示Roll No两次。重复这些步骤,它显示滚动没有增加。 图片以链接的形式给出。
下面给出了代码。任何帮助都会得到满足。 谢谢
[try
{
int i = 0;
using (SqlConnection sqlCon = new SqlConnection(Form1.connectionString))
{
string commandString = "SELECT RollNO FROM Student1";
// MessageBox.Show(commandString);
SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);
sqlCon.Open();
SqlDataReader dr = sqlCmd.ExecuteReader();
while (dr.Read())
{
i = 1;
comboBox3.Items.Add(dr\[0\]);
}
dr.Close();
}
if (i == 0)
{
MessageBox.Show("Database Error");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}][2]
答案 0 :(得分:1)
实际上每次你填充你的组合框你都没有清除以前的项目,我已经修改了你的代码试试这个
try
{
int i = 0;
using (SqlConnection sqlCon = new SqlConnection(Form1.connectionString))
{
string commandString = "SELECT RollNO FROM Student1";
comboBox3.Items.Clear(); //first clear previous items then refill
// MessageBox.Show(commandString);
SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);
sqlCon.Open();
SqlDataReader dr = sqlCmd.ExecuteReader();
while (dr.Read())
{
i = 1;
comboBox3.Items.Add(dr[0]);
}
dr.Close();
}
if (i == 0)
{
MessageBox.Show("Database Error");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}