Как получить таблицы полей доступа AC в список списка? ` - PullRequest
0 голосов
/ 07 августа 2009

нужно создать форму, в которой я должен просматривать и открывать файлы MDB ---> я сделал эту часть, используя диалог oprnfile!

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog oDlg = new OpenFileDialog();
    oDlg.Title = "Select MDB";
    oDlg.Filter = "MDB (*.Mdb)|*.mdb";
    oDlg.RestoreDirectory = true;

    string dir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    oDlg.InitialDirectory = dir;

    DialogResult result = oDlg.ShowDialog();

    if (result == DialogResult.OK)
    {
        textBox1.Text = oDlg.FileName.ToString();
    }

    string strFileName = oDlg.FileName.ToString();

    OleDbConnection cn = new OleDbConnection();

    DataTable schemaTable;
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Mode=Share Deny None;Data Source="+strFileName;
    cn.Open();

    schemaTable = cn.GetOleDbSchemaTable(

    OleDbSchemaGuid.Tables,

    new Object[] { null, null, null, "TABLE" });

    //List the table name from each row in the schema table.

    for (int i = 0; i < schemaTable.Rows.Count; i++)
    {
         strTableName = schemaTable.Rows[i].ItemArray[2].ToString();
        listBox1.Items.Add(strTableName);
    }

    //Explicitly close - don't wait on garbage collection.

    cn.Close();

}

пока это мой код !!!

теперь мне нужно сделать 3 списка !!

1-й, чтобы отобразить имена таблиц БД <----- сделано до здесь !!!! </p>

2-й, чтобы отображать имена полей при щелчке по имени таблицы !!! ---> для b готово! 3-й, чтобы отобразить атрибуты на полях при клике на нем !!! ---> b b done!

v может редактировать значения атрибутов, и при нажатии кнопки сохранения должно обновляться база данных !!!

1 Ответ

0 голосов
/ 07 августа 2009

Проверьте массив столбцов вашего объекта schemaTable:

for(int i=0;i<schemaTable.Columns.Length;i++)
    listBox2.Items.Add(schemaTable.Columns[i].ToString());
...