我使用SqlConnection连接之后,例如连接本地SQL数据库的Master之后,里面有十几二十个数据表,我想在Winform启动的时候就自动载入ComboBox里面,然后点其中一个就在Grid里面显示表的内容,怎样可以实现啊?
主要是我不知道怎样可以读取到Master里面的所有表,请大家帮忙想想,如果可以的话,可以给出部分代码~~~

解决方案 »

  1.   

    sql有一个存储过程sp_helpdb,可以取得所有的表SqlDataAdapter da = new SqlDataAdapter("exec sp_helpdb",sqlConn);
    da.Fill(ds);
      

  2.   

    SqlDataAdapter da = new SqlDataAdapter("exec sp_helpdb",sqlConn);
    da.Fill(ds); this.cbDbList.Items.Clear();
    foreach(DataRow dr in ds.Tables[0].Rows)
    {
    this.cbDbList.Items.Add(dr["NAME"].ToString());
    }
      

  3.   

    select name from sysobjects where xtype = 'U'
      

  4.   

    我想问一下,xtype='U'中,这个U是不是表示'用户表',如果是的话怎么执行了
    go
    use maste
    select name from sysobjects where xtype = 'U'
    后的结果是多个表呢?这其中包括一些系统表,到底是表示什么呢,一笑可否告知
      

  5.   

    select * from dbo.sysobjects where id = object_id(N'[Base_Accounts]') and OBJECTPROPERTY(id, N'IsUserTable') = 1object_id(N'[Base_Accounts]')指定表名;OBJECTPROPERTY(id, N'IsUserTable') = 1 表类型,用户表.select * from dbo.sysobjects 数据库里的所有表.
      

  6.   


    sysobjects
    在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。xtype char(2) 对象类型。可以是下列对象类型中的一种: 
    C = CHECK 约束
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束
    L = 日志
    FN = 标量函数
    IF = 内嵌表函数
    P = 存储过程
    PK = PRIMARY KEY 约束(类型是 K)
    RF = 复制筛选存储过程
    S = 系统表
    TF = 表函数
    TR = 触发器
    U = 用户表
    UQ = UNIQUE 约束(类型是 K)
    V = 视图
    X = 扩展存储过程
      

  7.   

    select name from master.dbo.sysobjects where xtype = 'U'