怎样编程查询Access数据库中的表数和各表的表名?

解决方案 »

  1.   

    以下示例返回数据库中的表的列表。public DataTable GetTables(OleDbConnection conn)
    {
      conn.Open();
      DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
                                                       new object[] {null, null, null, "TABLE"});
      conn.Close();
      return schemaTable;
    }
      

  2.   

    OleDbConnection mycnn=new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=f:\\dazhu.mdb");
    mycnn.Open(); DataSet myds=new DataSet();
      DataTable mytable=new DataTable(); //返回表[info]列的一些信息
    myds.Tables.Add(mycnn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,new object[]{null,null,"info","name"}));//表目录,表纲要,表名,列名
                    
    //所有表的名称
    mytable=mycnn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null,"TABLE"});//表目录,表纲要,表名,表类型
    myds.Tables.Add(mytable);

    this.dataGrid1.DataSource=myds.Tables[0].DefaultView;
    this.dataGrid2.DataSource=myds.Tables[1].DefaultView; mycnn.Close();