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

时间:2016-06-25 08:59:06

标签: c# ms-access oledb

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

当我在Combobox中显示数据表中的Row时,它没有提供所需的文本。

例如:它提供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;

    }

1 个答案:

答案 0 :(得分:0)

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