如何在c#datatable中读取MS Access数据库

如何在c#datatable中读取MS Access数据库,c#,ms-access,oledb,C#,Ms Access,Oledb,我正在尝试使用c#.net从ms access读取一个表,并希望将其存储在数据表中 当我在Combobox中显示datatable中的行时,它没有给出所需的文本 例如:它给出的是System.Data.DataRow,而不是表中的实际值 我的代码: // Global Variables OleDbConnection dbCon = new OleDbConnection(); OleDbDataAdapter dbAdapter; DataTable localD

我正在尝试使用c#.net从ms access读取一个表,并希望将其存储在数据表中

当我在Combobox中显示datatable中的行时,它没有给出所需的文本

例如:它给出的是System.Data.DataRow,而不是表中的实际值

我的代码:

// Global Variables 

    OleDbConnection dbCon = new OleDbConnection();
    OleDbDataAdapter dbAdapter;
    DataTable localDT = new DataTable();
    int rowPos;
    int rowNum;

private void ConnectToDb()
    {
        dbCon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\CuttingParameters.mdb";

        try
        {
            dbCon.Open();

            dbAdapter = new OleDbDataAdapter("Select Distinct Material from CutParameters", dbCon);

            dbAdapter.Fill(localDT);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK);
        }
        if (localDT.Rows.Count != 0)
        {
            rowPos = localDT.Rows.Count;
        }

        textBox1.Text = rowPos.ToString();
    }

    private void FillMatCombo()
    {
        comboBox1.DataSource=localDT;

    }

您需要设置ComboBox的DisplayMember属性,以告诉它使用哪个属性作为显示标签。还有一个ValueMember属性,用于将哪个属性用作值。

您需要设置组合框的DisplayMember属性,以告诉它将哪个属性用作显示标签。还有一个ValueMember属性,该属性将用作该属性的值。

可能重复的