我现在又两种结构的Access表,一种里面有三张表、一张有五张表。我现在要做的是在一个查询界面上,我选择这两种文件的任一种时,如果是三张表的数据结构就使用三张表的查询方法,否则就使用五张表的查询方法 。大家帮我想想,应该怎么解决啊?

解决方案 »

  1.   

    网上查的,不知道对不对
    据说ACCESS也有个MsysObjects的系统表,虽然我们平时看不到,但可以直接查询它
      

  2.   

    access表结构
    using(OleDbConnection conn= new OleDbConnection(""))
    {   
      conn.Open();   
      DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,   
      new object[] {null, null, null, "TABLE"});   
      foreach (DataRow dr in schemaTable.Rows)   
      {  
      Console.WriteLine(dr["TABLE_NAME"]);   
      DataTable columnTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,   
      new object[] {null, null, dr["TABLE_NAME"].ToString(),null});   
      foreach(DataRow dr2 in columnTable.Rows)   
      {   
      Console.WriteLine(" {0}", dr2["COLUMN_NAME"]);   
      }   
      }   
      conn.Close();  
    }