Asp.Net、C#如何获取Access数据库mdb的表名

2024-11-04 23:14:46

1、任意新建或找一个Access数据库文件data.mdb,这里我新建了一个data.mdb,这里有两个表User和Class。表结构如下图

Asp.Net、C#如何获取Access数据库mdb的表名

2、 任意新建一个test.aspx测试页面,复制下面的内容: protected void Page_Load(object sender, EventArgs e) { // access连接字符串可以把路径当做变量 string sConnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Administrator\Desktop\WebApplication2\WebApplication2\TempFile\data.mdb;Persist Security Info=False"; // 数据源连接对象 OleDbConnection con = new OleDbConnection(sConnStr); con.Open(); DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); con.Close(); con.Dispose(); // 遍历所有的表 string sName = ""; for (int i = 0, maxI = dt.Rows.Count; i < maxI; i++) { // 获取第i个Access数据库中的表名 string sTempTableName = dt.Rows[i]["TABLE_NAME"].ToString(); sName += string.Format("{0}\n", sTempTableName); } Response.Write(sName); }

3、浏览页面,页面中会输出表的名称,如下图,不过从输出的表名称可以看出,以【~】开头的表名,都不是真正的表,因此需要过滤掉这些表。

Asp.Net、C#如何获取Access数据库mdb的表名

4、Access数据库文件的路径,可以当做一个变量,如果是处理客户端上传的文件,可以先保存到服务器上,然后获取Access数据库连接字符串,有关如何获取Access数据库字符串,可以看我的另外一篇文章【如何查找或记忆数据库连接字符串】

5、获取到了表名称,可以使用select * from tableName,查出来DataTable数据,最后把Access数据库中所有表名和表数据添加到DataSet对象中。

猜你喜欢