JAVA 怎么把数据库里的数据显示在JTable表格里?

JAVA 怎么把数据库里的数据显示在JTable表格里?,第1张

这个要从头说起就复杂了。我简单说一下吧。\x0d\x0a首先,要把数据从库中取出来,假设你已经会了。\x0d\x0a其次,创建一个表格模型,\x0d\x0aDefaultTableModel model=new DefaultTableModel()\x0d\x0a//创建表头\x0d\x0amodel.setColumnIdentifiers(new Object[]{"日期/时间"," *** 作工","产品型号","数量"})\x0d\x0a再次,添加数据\x0d\x0awhile(results.next())\x0d\x0a{\x0d\x0aString dt=results.getString("dt")\x0d\x0aString name=results.getString("name")\x0d\x0aString pname=results.getString("product")\x0d\x0aint i=results.getInt("num")\x0d\x0a//把以上数据添加到表格模型的一行中\x0d\x0a\x0d\x0amodel.addRow(new Object[]{dt,name,pname,i})\x0d\x0a}\x0d\x0a最后,用模型生成表格\x0d\x0aJTable table=new JTable(model)\x0d\x0a当然,还有一些其它的 *** 作,比如把表格显示出来,表格的字体、行高等设置等等,不再一一赘述。

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

         }

在Java中,获得ResultSet的总行数方法有以下几种。

第一种:利用ResultSet的getRow方法来获得ResultSet的总行数

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)

ResultSet rset = stmt.executeQuery("select * from yourTableName")

rset.last()

int rowCount = rset.getRow()//获得ResultSet的总行数

第二种:利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select * from yourTableName")

int rowCount = 0

while(rset.next()) {

rowCount++}rowCount就是ResultSet的总行数。

(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。

(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC API 2.0中才定义的,在JDBC API 1.0中没有这个方法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10835019.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存