2013-04-12 83 views

回答

3

這個簡單的方法會給你回包含您的所有列名的數據表

void Main() 
{ 
    using(OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;" + 
      @"Data Source=D:\temp\temp.mdb;Persist Security Info=False;")) 
    { 
     con.Open(); 
     DataTable schema = con.GetSchema("Columns"); 
     foreach(DataRow row in schema.Rows) 
      Console.WriteLine("TABLE:" + row.Field<string>("TABLE_NAME") + 
          " COLUMN:" + row.Field<string>("COLUMN_NAME")); 
    } 
} 

您也可以嘗試改變「列」與「表」上獲得不同的數據表中有更多信息你的桌子。 (也稱爲 「索引」 索引)

+0

我只想顯示錶名和列名。這個代碼是正確的,但顯示更多的屬性。我只想顯示列和表的名稱。 – anfd

+0

請更改答案2。 – anfd

0

這個代碼是:

OpenFileDialog openfiledialog1 = new OpenFileDialog(); 
     openfiledialog1.Title = "path select "; 

     openfiledialog1.Filter = "Access 2003 (*.mdb)|*.mdb|Access 2007|*.accdb"; 
     if (openfiledialog1.ShowDialog() == DialogResult.OK) 
     { 
      txtpath.Text = openfiledialog1.InitialDirectory + openfiledialog1.FileName; 
      using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + openfiledialog1.FileName)) 
      { 

       con.Open(); 
       DataTable schema = con.GetSchema("Columns"); 
       foreach (DataRow row in schema.Rows) 
       {   
        listBox1.Items.Add(row.Field<string>("COLUMN_NAME")); 
        cmbloadtable.Items.Add(row.Field<string>("TABLE_NAME")); 
       } 

      } 
     } 
相關問題