我想查询sql server 中某表的所有字段的名字,怎么办?

解决方案 »

  1.   

    select * from table_name;
    在mysql里可以 describe table_name;不知道MS SQlServer里行不行。。
      

  2.   


    select name from syscolumns 
    where id =(select id from sysobjects where xtype='U' and name='表名')
      

  3.   

    select 字段名 from 表名
      

  4.   

    import java.sql.*;
    public class chen { public static void main(String args[]) throws ClassNotFoundException, SQLException
    {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = null;
    try {
    con = DriverManager.getConnection("jdbc:odbc:regi");
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    Statement stmt = null;
    try {
    stmt = con.createStatement();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    ResultSet rs = null;
    try {

    //调用Statement对象的executeQuery方法,创建一个代表”表“的ResultSet对象
    //设定有变量rs引用
    rs = stmt . executeQuery("select * from 表名");
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    ResultSetMetaData mtdt = null;
    try {
    //通过rs调用ResultSet对象的getmetaData方法,获取rs记录集的有关资料,并返回
    //值赋予ResultSetMetaData类型的变量mtdt;
    mtdt = rs.getMetaData();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    int nmb = mtdt.getColumnCount();
    for(int i = 1; i < nmb; i++)
    {
    System.out.println(mtdt.getColumnClassName(i)+'\n');
    System.out.println(mtdt.getColumnTypeName(i)+'\n');

    }
    rs.close();
    stmt.close();
    con.close();

    System.out.println("本表共有字段:"+nmb);
    }
    }
    //自己写个main方法测试吧。