我想更改显示SQL Server数据库中数据的JTable
标题,因为它在我的数据库中也显示相同的列名。我只需要数据本身,而不是列名。
这是我用来显示数据的代码:
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更改为名字,依此类推......
答案 0 :(得分:4)
我会尝试修改你的选择:
代替
SELECT * FROM dbo.Patients
使用
SELECT pId as "Patient ID", ...
答案 1 :(得分:4)
将SELECT * FROM dbo.Patients
更改为SELECT pIDNo AS 'Patient ID', pLName AS '....
是最简单的方法。而且,命名列名而不是使用*
更快。