2009-12-07 51 views

回答

1

根据您连接到MS-访问fiele的方式,你可以用不同的方式读表和列/字段名:

  1. 随着OLEDB连接:您可以使用ADOX Objects集合并读取数据库中可用的表格,列,索引等
  2. 通过ODBC连接,可以列出MS-ACC ESS系统表,在每个表上打开记录集,然后读取所有字段名称。

    SELECT名字从MSysObjects WHERE = 1

  3. 在所有的情况下,一旦表通过记录打开类型,你可以读取它的字段名称由 循环于:表可以用下面的SQL指令来上市记录集对象的字段集合

2

道歉,SQL Server的偏见和张贴的答案没有真正正确地阅读你的问题!

这是一个solution用于从MS Access数据库中读取表名。这是相同的想法,即查询Db模式。

片段

String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\Employee.mdb"; 
OleDbConnection con = new OleDbConnection(connect); 
con.Open(); 
Console.WriteLine("Made the connection to the database"); 

Console.WriteLine("Information for each table contains:"); 
DataTable tables = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null,"TABLE"}); 

foreach(DataRow tableRow in tables.Rows) 
{ 
    Console.WriteLine("Table Name: {0}", tableRow[0]); 
    DataTable cols = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object[]{null,null, tableRow[0], null}); 
    foreach (DataRow colRow in cols.Rows) 
    { 
     Console.WriteLine("Column Name: {0}", colRow[0]); 
    } 
} 

con.Close();