我用C#连接到数据库后,想获取其中的表,把表名显示到LISTBOX中,应该用什么方法啊?能详细一点最好了.
constr="Data Source=.\\SQLEXPRESS;AttachDbFilename="+dbpath+";Integrated Security=True;Connect Timeout=30;User Instance=True";
                conn = new SqlConnection(constr);
                conn.Open();
query = "select * from sc";
            adapter = new SqlDataAdapter(query,conn);
            adapter.Fill(ds,"good");            dataGridView1.DataSource = ds.Tables["good"].DefaultView;

解决方案 »

  1.   

    获取所有表名
    SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name
    获取所有字段名:
    SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')
      

  2.   

    查询指定表的列名,类型,长度      select syscolumns.name AS  ColumnName,systypes.name  AS TypeName,syscolumns.length  as length
          from syscolumns,sysobjects,systypes  where syscolumns.id=sysobjects.id and  syscolumns.xtype=       systypes.xtype    and  sysobjects.name= '表名'   order by syscolumns.colid查询指定表的详细信息
    select * from sys.all_columns where object_id=(select id from sysobjects where name='表名')
      

  3.   

    Select Name FROM SysObjects Where XType='U' orDER BY Name 
               XType='U':表示所有用户表; 
               XType='S':表示所有系统表;SELECT name FROM sysobjects WHERE type = 'U' 
             
      

  4.   

    select   name   from   sys.tables  --查询当前数据库的全部表名
    select   name   from   sys.syscolumns   where   id=object_id('sc')   --查询当前表的全部字段从MSDN上查出来的...嘿嘿.
      

  5.   

    SELECT name FROM sysobjects WHERE type = 'U'  and  name !='dtproperties'  //表名
    SELECT name FROM sysobjects WHERE type = 'V'  and  name !='dtproperties' //视图
    Select Table from 1!=1  //这样获取DATATABLE 里面包含列名