[英]Trying to establish connection to read files in an Access Database, having static error
需要从访问数据库中提取表名称并获得静态错误
protected void Button1_Click(object sender, EventArgs e)
{
System.Data.Common.DbProviderFactory factory = System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb");
System.Data.DataTable usersTables = null;
using (System.Data.OleDb.OleDbConnection connection = System.Data.Common.DbProviderFactory.CreateConnection()) ;
{
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\\test\\test.mdb";
string[] restrictions = new string[4];
restrictions[3] = "Table";
connection.Open();
usersTables = connection.GetSchema("Tables", restrictions);
}
List<string> tableNames = new List<string>();
for (int i = 0; i< usersTables.Rows.Count; i++)
tableNames.Add(usersTables.Rows[i][2].ToString());
}
我需要访问服务器中的表名列表,但由于CreateConnnection()区域出现非静态字段,因此出现错误。 我该如何解决?
您正在尝试使用该类型的静态方法而不是您创建的实例的方法。
用factory.CreateConnection()
替换System.Data.Common.DbProviderFactory.CreateConnection()
factory.CreateConnection()
:
using (System.Data.OleDb.OleDbConnection connection = (System.Data.OleDb.OleDbConnection)factory.CreateConnection())
在using
语句之后,您还会得到一个假冒的分号,必须将其删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.