C# 4.0 组合框项目清除方法中的索引超出范围
我的组合框列出了数据库中的记录。我的组合框如下所示:C# 4.0 组合框项目清除方法中的索引超出范围,c#-4.0,combobox,C# 4.0,Combobox,我的组合框列出了数据库中的记录。我的组合框如下所示: <ComboBox Grid.Column="3" Grid.Row="1" Height="30" VerticalAlignment="Center" Name="comboBoxEmp" SelectionChanged="comboBoxAdministrator_SelectionChanged" BorderBrush="{x:Null}" Foreground="#FFF90C0C" /> 当我使用以下方法重置组
<ComboBox Grid.Column="3" Grid.Row="1" Height="30" VerticalAlignment="Center" Name="comboBoxEmp" SelectionChanged="comboBoxAdministrator_SelectionChanged" BorderBrush="{x:Null}" Foreground="#FFF90C0C" />
当我使用以下方法重置组合框的内容时,出现错误:
“索引超出范围。必须为非负或小于集合大小。参数名称:索引”
您是否已在调试中运行,并在名称和数字上设置断点。一个原因可能是它正在拉一个空值。不。事实上,我对这个过程并不熟悉。但事实上,如果组合框元素已经为null,那么我们将激发comboBoxEmp.Items.Clear();然后它就可以触发该异常。但它显示了每个实例的错误。
void FillComboEmpName()
{
MySqlConnection conn4;
conn4 = new MySqlConnection("server=localhost;uid=root;database=newcompanydatabase;pwd=Admin@123;");
string Query = "select * from nWorksUser";
MySqlCommand cmd2 = new MySqlCommand(Query, conn4);
try
{
conn4.Open();
MySqlDataReader rdr;
rdr = cmd2.ExecuteReader();
while (rdr.Read())
{
string EmpNo = rdr.GetInt32("uid").ToString();
string fname = rdr.GetString("fname");
string lname = rdr.GetString("lname");
comboBoxEmp.Items.Add(EmpNo + "-" + fname + " " + lname);
}
}
catch (Exception ex1)
{
MessageBox.Show(ex1.Message);
}
}
public Reset()
{
comboBoxEmp.Items.Clear();
FillComboEmpName();
}