Java表格显示数据库
这是我写的代码
try {
con=Connect.getConnection("renshiData");
stmt=con.createStatement();
//获取列数(字段数)
sql="select * from PersonInductionInfo";
rs=stmt.executeQuery(sql);
ResultSetMetaData rsmd=rs.getMetaData();
ColNum=rsmd.getColumnCount();
//显示数据库中的列名
int i=1;
while(i<=ColNum)
{
defaultTableModel.addColumn(rsmd.getColumnName(i));
i++;
}
//显示数据库表中的内容
Vector newRow;
while(rs.next())
{
newRow=new Vector();
while(i<=ColNum)
{
newRow.addElement(rs.getObject(i));
i++;
}
defaultTableModel.addRow(newRow);
}
} catch (SQLException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
} 展开
推荐于2016-09-12 · 知道合伙人互联网行家
在面板上用table显示数据库的中的信息
代码如下:
try{
Database db = new Database();
db.conn();
Statement stmt = db.conn.createStatement();
ResultSet rset = stmt.executeQuery("SELECT * FROM goods");//前面的为数据库部分(每个人视情况而定)
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
dtm.setRowCount(0);
while (rset.next()) {
Object[] row = {
rset.getString(1),
rset.getDouble(2),
rset.getDouble(3),//这三个为表各个字段的值,从数据库中得到的
};
dtm.addRow(row);
}
rset.close();
stmt.close();
db.closeConn();
} catch (ClassNotFoundException ex) {
Logger.getLogger(Admin.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Admin.class.getName()).log(Level.SEVERE, null, ex);
}
1,永远不要在客户端显示数据库中实际的列名,要显示对用户有意义的文字,比如name列在客户端你直接写“名字”就好,不用找metadata
2,sql="select * from PersonInductionInfo";写*号你会死的,数据库一点变更你的程序就瘫了,请写具体的列名
3,newRow.addElement(rs.getObject(i)); newRow不知道什么意思,但是rs.getObject(i)错了,rs.get具体数据类型,比如rs.getString(1);rs.getInteger(2);你都直接那Object哪行啊
希望对你有用,加油