Java表格显示数据库

我从sqlSever中获得表格的内容,然后显示在表格中,可是我写的源代码怎么把列名显示出来了,却显示不出来表格中的内容,我有四条记录,在JScrollPane中显示时,只... 我从sqlSever中获得表格的内容,然后显示在表格中,可是我写的源代码怎么把列名显示出来了,却显示不出来表格中的内容,我有四条记录,在JScrollPane中显示时,只显示了四条空白,这是怎么回事啊?大侠们,帮帮忙吧。。。。。。。
这是我写的代码
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 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部

在面板上用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);
         }

百度网友d7c6135
推荐于2018-03-07 · TA获得超过821个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:193万
展开全部
小鸟来说几句
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哪行啊
希望对你有用,加油
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式