Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用以下方法填充多个组合框_C#_Wpf_Xaml - Fatal编程技术网

C# 无法使用以下方法填充多个组合框

C# 无法使用以下方法填充多个组合框,c#,wpf,xaml,C#,Wpf,Xaml,当程序使用以下方法启动时,我正在用数据库中的信息填充组合框。当我用它来填充一个组合框时,效果很好。但如果我使用它填充多个组合框,它将返回一个错误XAMLParseException。请告诉我出了什么问题。谢谢 public void fillCombo(string query, string name, ComboBox c) { MySqlCommand cmdReader = new MySqlCommand(query,conn);

当程序使用以下方法启动时,我正在用数据库中的信息填充组合框。当我用它来填充一个组合框时,效果很好。但如果我使用它填充多个组合框,它将返回一个错误XAMLParseException。请告诉我出了什么问题。谢谢

public void fillCombo(string query, string name, ComboBox c)
        {
            MySqlCommand cmdReader = new MySqlCommand(query,conn);
            MySqlDataReader myReader;

            myReader = cmdReader.ExecuteReader(); 

            while(myReader.Read())
            {
                string temp = myReader.GetString(name);
                c.Items.Add(temp); 
            }
        }

//If I call to fill one combo box it works
public MainWindow()
{
    InitializeComponent();
    fillCombo("SELECT * FROM Jobs;", "Job_ID", comboBoxJobID); 
}

//If I call to fill multiple comboboxes, it returns the error.
public MainWindow()
{
    InitializeComponent();
    fillCombo("SELECT * FROM Departments;", "Dept_ID", comboBoxDeptID);
    fillCombo("SELECT * FROM Jobs;", "Job_ID", comboBoxJobID);
    fillCombo("SELECT * FROM Missions;", "Mission_ID", comboBoxMissionID);  
}

你没有关闭你的阅读器。尝试以下方法

public void fillCombo(string query, string name, ComboBox c)
        {
            MySqlCommand cmdReader = new MySqlCommand(query,conn);
            MySqlDataReader myReader;

            myReader = cmdReader.ExecuteReader(); 

            while(myReader.Read())
            {
                string temp = myReader.GetString(name);
                c.Items.Add(temp); 
            }
        }
        myReader.Close();

检查内部异常并在此处发布。还有XAML代码。它是否仅在添加多个时发生?您是否检查了具体的个人查询?您能给我们发送3个查询结果的字符串表示吗?是,分别检查了所有3个查询。字符串表示形式是正确的。