2013-04-12 53 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")); 
       } 

      } 
     } 
相关问题