从Access填充ComboBox

时间:2014-02-09 09:14:18

标签: c# ms-access combobox ms-access-2013

我正在尝试使用C#和MS Access 2013填充组合框 我环顾网络,但到目前为止,我能够做到这一点

1 - 我创建了一个函数来填充ComboBox,如下所示:

public static void FillDropDownList(string Query, System.Windows.Forms.ComboBox DropDownName)
{
    using (var CONN = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\Vendors.accdb;"))
    {
        CONN.Open();
        DataTable dt = new DataTable();
        try
        {
            OleDbCommand cmd = new OleDbCommand(Query, CONN);
            OleDbDataReader myReader = cmd.ExecuteReader();
            dt.Load(myReader);
        }
        catch (OleDbException  e)
        {
            Console.WriteLine(e.ToString());
            Console.ReadLine();

            return;
        }
        DropDownName.DataSource = dt;
        DropDownName.ValueMember = "BRANCH_CODE";
        DropDownName.DisplayMember = "BRNCH_NAME";
    }
}

2-之后我在Form Load事件中调用了它,如下所示:

private void VendorMain_Load(object sender, EventArgs e)
{
    FillDropDownList("select BRANCH_CODE,BRNCH_NAME from BRANCHES", BranchCB);
}

但是在初始化程序之后,ComboBox仍然是空的并且没有填充

那我该怎么办?

2 个答案:

答案 0 :(得分:0)

我无法重新创建您的问题。将测试数据放在名为[BRANCHES]

的表中
BRANCH_CODE  BRNCH_NAME 
-----------  -----------
          1  Main Street
          2  at the mall

我将您的代码复制并粘贴到我的C#项目中,并正确填充了组合框:

ComboBox.png

答案 1 :(得分:0)

@Steve

你在哪里纠正了Ms Access数据库中的错误拼写问题,并且BRNACH_CODE之间有一个空格,它被认为是[BRANCH CODE]

谢谢