我希望所有的表都有一个msaccess文件。以下是我的工作:
public override List<string> GetTables()
{
using (OleDbConnection con = new OleDbConnection(Path))
{
con.Open();
DataTable schema = con.GetSchema("Columns");
List<string> tables= new List<string>();
foreach (DataRow row in schema.Rows)
{
tables.Add(row.Field<string>("TABLE_NAME"));
}
return tables;
}
}
但是,虽然返回了所有的表名,但似乎每个表名都返回了10次。为什么要这么做?
最佳答案
我认为需要更改con.getschema调用以获取表而不是列-例如。
DataTable schema = con.GetSchema("Tables");
看起来您正在获取数据库中所有列的列表,然后只使用结果中的表名字段,因此它将出现多次。
关于c# - 获取MS Access表名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16864790/