C#获得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();  

     }  

 }  

 

 

 


/// <summary>  
  /// 返回某一表的所有字段名  
  /// </summary>  
  public  string[] GetTableColumn( string database_path, string varTableName)  
 {  
     DataTable dt =  new DataTable();     
  try  
     {  、
         conn =  new OleDbConnection();  
         conn.ConnectionString =  "Provider = Microsoft.Jet.OleDb.4.0;Data Source=" + database_path;  
         conn.Open();  
         dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,  new  object[] {  nullnull, varTableName,  null });  
          int n = dt.Rows.Count;  
          string[] strTable =  new  string[n];  
          int m = dt.Columns.IndexOf( "COLUMN_NAME");  
          for ( int i = 0; i < n; i++)  
         {  
             DataRow m_DataRow = dt.Rows[i];  
             strTable[i] = m_DataRow.ItemArray.GetValue(m).ToString();  
         }  
          return strTable;  
     }  
      catch (Exception ex)  
     {  
          throw ex;  
     }  
      finally  
     {  
         conn.Close();  
     }  
 }  

 

转载于:https://www.cnblogs.com/shaolai/archive/2012/11/28/2793114.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值