zoukankan      html  css  js  c++  java
  • [笔记]得到Access数据库中的所有表名

    今晚帮一个朋友做点东西,需要得到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[] { nullnullnull"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();
                }
            }
  • 相关阅读:
    【以前的空间】《用单调性优化动态规划》
    【以前的空间】倍增
    【以前的空间】BIT的两个小小运用
    【以前的空间】bzoj1009 [HNOI2008]GT考试
    【以前的空间】斜率优化的一点点总结
    【以前的空间】bzoj 1227 [SDOI2009]虔诚的墓主人
    【以前的空间】bzoj 1072 [SCOI2007]排列perm
    【以前的空间】bzoj 1052 [HAOI2007]覆盖问题
    【以前的空间】bzoj [ZJOI2007]棋盘制作
    Notepad++使用技巧
  • 原文地址:https://www.cnblogs.com/erwin/p/1191800.html
Copyright © 2011-2022 走看看