热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 数据库>>正文内容

得到Access数据库中的所有表名

发布时间:2009年04月15日点击数: 未知

今晚帮一个朋友做点东西,需要得到Access数据库中的所有表名,经过一番研究后终于搞定这个函数,感觉还是有点意思,特将其做个笔记保存下来:

/// <summary>
        /// 返回Mdb数据库中所有表表名
         /// </summary>

        public string[] GetShemaTableName(string database_path, string database_password)
        {
            try
            {
                //获取数据表
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password='" + database_password + "Data Source=" + database_path;
                conn.Open();
                DataTable shemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                int n = shemaTable.Rows.Count;
                string[] strTable = new string[n];
                int m = shemaTable.Columns.IndexOf("TABLE_NAME");
                for (int i = 0; i < n; i++)
                {
                    DataRow m_DataRow = shemaTable.Rows[i];
                    strTable[i] = m_DataRow.ItemArray.GetValue(m).ToString();
                }

                return strTable;
            }

            catch (OleDbException ex)
            {
                MessageBox.Show("指定的限制集无效:\n" + ex.Message);
                return null;
            }

            finally
            {
                conn.Close();
                conn.Dispose();
            }

        }

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作