如何查询数据库中表总数?C#有现成的函数可以获取么?我没怎么做过数据库方面的东西,请教了,谢谢

解决方案 »

  1.   

    select   count(*)   from   【表】   where   【条件表达式】 
      

  2.   

    mysql里是:show databases; // 显示数据库中所有数据库名;show tables; // 显示当前数据库下所有表名;由于show语句不能嵌套入select可能需要分步完成可以先取得表名列表再统计表总数。
      

  3.   

    如果是sqlserver,那么就:select count(*) from sys.objects where [type]='U'上面的sys.objects是每个数据库都有的系统视图(system view),而[type]='U'是从视图中选出所有的用户数据表。
      

  4.   

    select name from sysobjects where type='U' 
    XType='U':表示所有用户表; 
    XType='S':表示所有系统表; 
      

  5.   

    sql server
      select count(*) from sys.objects where [type] = 'U'
    oracle
      select count(*) from all_objects where Object_type='TABLE'
      

  6.   

    ADO.NET访问  private void GetTables_ADONET()
            {
                //处理OleDbConnection
                string strConnectionString = @"Integrated Security=SSPI;Data Source=HBXP;Initial Catalog=Test;Provider=SQLOLEDB.1";
                System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(strConnectionString);
                cn.Open();
                //利用OleDbConnection的GetOleDbSchemaTable来获得数据库的结构
                DataTable dt = cn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                foreach (DataRow dr in dt.Rows)
                {
                    MessageBox.Show((String)dr["TABLE_NAME"]);
                }
            }
      

  7.   

    数据库中的表有系统表,表中有记录用户创建的表信息,例如:oracle:  select * from user_tables
    连接方式 上面有人提到过了
     
      

  8.   

    我用的是sqlce3.0      按楼上几位的写法会提示“指定的表不存在。 [ @@sys.objects ]”求解
      

  9.   

    没有好办法了么?在sqlce3.0下不识别啊!