现在有一个Access数据库,不知道它里面表的数量和名称,只知道,每个表名称都加有Result
现在要提取这些表名,应该怎么解决?能说的详细点吗?我很菜O(∩_∩)O~

解决方案 »

  1.   

       OleDbConnection _SqlConn = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =C:\1.MDB; User ID =;Password=");            _SqlConn.Open();             DataTable _Table = _SqlConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                _Table里的内容就是你要的
      

  2.   

    获取表的信息。 
    System.Data.OleDb.OleDbConnection DB_Connect = new System.Data.OleDb.OleDbConnection(); 
    System.Data.DataTable DataTable = null; 
    string OleDb_ConnStr  = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + @"C:\Test.mdb"; try 

    DB_Connect.ConnectionString = _OleDB_ConnStr; DataTable = DB_Connect.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);                                 //DataTable.Rows.Count即为Access数据库的表数量,具体表的名称,可以在DataTable中取出 DB_Connect.Close(); 

    catch (OdbcException ex) 

                                    // 

    finally 

    DB_Connect = null; 
    DataTable = null; 

      

  3.   

    学习,这个可以么?
    之前我是采用SELECT 系统表的
      

  4.   

    DataTable = DB_Connect.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 就是这句话
      

  5.   

    datatable里有系统表哦,怎么过滤?
      

  6.   


    SELECT 怎么用,能不能具体些.我知道SQL SERVER可以,ACCESS怎么办.
    如何能得到具体表的列名称和类型?
    借LZ贴子同问,大家共同学习.
      

  7.   

     DataTable _Table = _SqlConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables , null);
                DataRow[] _TableList = _Table.Select("TABLE_TYPE='TABLE'");循环 _TableList就可以了.