3

我想更改JTable显示 SQL Server 数据库中数据的我的标题,因为它还在我的数据库上显示相同的列名。我只需要数据本身,而不是列名。

这是我用来显示数据的代码:

public void search() throws Exception{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String url = "jdbc:odbc:*****";
            String user = "*****";
            String pass = "*****";
            Connection con =  DriverManager.getConnection(url, user, pass);
            Statement state = con.createStatement();
            ResultSet rs = state.executeQuery("SELECT * FROM dbo.Patients");
            ResultSetMetaData rsmetadata = rs.getMetaData();
            int columns = rsmetadata.getColumnCount();
            DefaultTableModel dtm = new DefaultTableModel();
            Vector column_name = new Vector();
            Vector data_rows = new Vector();

            for (int i=1; i<columns;i++){
                column_name.addElement(rsmetadata.getColumnName(i));
            }
            dtm.setColumnIdentifiers(column_name);

            while(rs.next()){
                data_rows = new Vector();
                for (int j=1; j<columns; j++){
                data_rows.addElement(rs.getString(j));
                }
                dtm.addRow(data_rows);
            }
            tblPatient.setModel(dtm);
    }

这是结果:

这

我想将 pIDNo 更改为患者 ID,将 pLName 更改为姓氏,pFName 更改为名字,依此类推……

4

2 回答 2

4

我会尝试修改您的选择:

反而

SELECT * FROM dbo.Patients

采用

SELECT pId as "Patient ID", ...

于 2013-04-08T04:38:43.483 回答
4

更改SELECT * FROM dbo.PatientsSELECT pIDNo AS 'Patient ID', pLName AS '.... 是最简单的方法。而且,命名列名而不是使用*会更快。

于 2013-04-08T04:43:48.923 回答