是否可以使用c#?
确定特定数据库中MS Access中的表及其列任何人都可以在这个问题上指导我吗?
答案 0 :(得分: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();
答案 1 :(得分:1)
根据您连接到ms-access fiele的方式,您可以通过不同方式读取表和列/字段名称:
使用ODBC连接,您可以列出MS-ACCESS系统表,在每个表上打开记录集,然后读取所有字段名称。可以使用以下SQL指令列出表:
SELECT name FROM MSysObjects WHERE type = 1
在所有情况下,一旦通过记录集打开表,您就可以通过读取其字段名称 循环记录集对象的字段集合