怎样将数据库的数据读取到JTable中

怎样将数据库的数据读取到JTable中,第1张

这个要从头说起就复杂了。我简单说一下吧。

首先,要把数据从库中取出来,假设你已经会了。

其次,创建一个表格模型,

DefaultTableModel model=new DefaultTableModel();

//创建表头

modelsetColumnIdentifiers(new Object[]{"日期/时间"," *** 作工","产品型号","数量"});

再次,添加数据

while(resultsnext())

{

String dt=resultsgetString("dt");

String name=resultsgetString("name");

String pname=resultsgetString("product");

int i=resultsgetInt("num");

//把以上数据添加到表格模型的一行中

modeladdRow(new Object[]{dt,name,pname,i});

}

最后,用模型生成表格

JTable table=new JTable(model);

当然,还有一些其它的 *** 作,比如把表格显示出来,表格的字体、行高等设置等等,不再一一赘述。

//按钮

JButton value,jb2;

value=new JButton("取值");

valueaddActionListener(this);

//动作

public void actionPerformed(ActionEvent e) {

String s=egetActionCommand();

if(sequals("取值")){

try{

Systemoutprintln(jtgetSelectedRow()); //获取行值

Systemoutprintln(jtgetSelectedColumn()); //获取列值

Systemoutprintln(jtgetValueAt(jtgetSelectedRow(), jtgetSelectedColumn())); //通过行值和列值 获得里面的value

}

catch(Exception ee){

Systemoutprintln("什么也没选中");

}

}

学习用的代码。。。 关键看 cmd 那里

一个类似的例子,从数据库里取数据放table里,请参考。

package Libary;

import javaawtCursor;

import javasqlResultSet;

import javasqlSQLException;

import javasqlStatement;

import javautilVector;

import javaxswing;

import javaxswingtableDefaultTableModel;

public class BorrowBookLog extends JFrame{

   /

  

 /

private static final long serialVersionUID = 5922888622610809963L;

String BBookName, BBookId;

JButton Borrow, Cancel;

Statement SearchStmt;

   @SuppressWarnings({ "rawtypes", "unchecked" })

BorrowBookLog(){

ConDB CB3 = new ConDB();

CB3connectionDB();

try {

SearchStmt = CB3dbConncreateStatement();

} catch (SQLException e1) {

// TODO 自动生成的 catch 块

e1printStackTrace();

}

DefaultTableModel tableModel = new DefaultTableModel();

String[] tableHeads= {"图书编号","图书名称","借阅人", "借阅时间"};

Vector cell;

Vector row = new Vector();

Vector tableHeadName = new Vector();

for(int i = 0;i<tableHeadslength;i++){

tableHeadNameadd(tableHeads[i]);

}

try {

ResultSet s =SearchStmtexecuteQuery("select  from BorrowedBooks where StudentId ="+ "'"+ StudentMainFrameName+"'");

while(snext()){

cell = new Vector();

celladd(sgetString("BookId"));

celladd(sgetString("BookName"));

celladd(sgetString("StudentId"));

celladd(sgetString("BorrowedDate"));

rowadd(cell);

BBookId = sgetString("BookId");

BBookName = sgetString("BookName");

}

} catch (SQLException e1) {

// TODO 自动生成的 catch 块

e1printStackTrace();

}

setTitle("查询结果");

tableModelsetDataVector(row, tableHeadName);

JTable table = new JTable(tableModel);

tablesetRowHeight(20);

tablesetCursor(new Cursor(12));

getContentPane()setLayout(null);

JScrollPane scrollPane = new JScrollPane(table);

scrollPanesetBounds(10, 10, 420, 200);

scrollPanesetCursor(new Cursor(12));

thisgetContentPane()add(scrollPane);

setLocation(450,220);

setSize(450,300);

setVisible(true);

   }

public static void mian(String args[]){

 

   }

}

读取数据库并遍历数据会吧:

Connection cnn=

ResultSet rs=cnncreateStatement()executeQuery(sql);

DefaultTableModel dtm=(DefaultTableModel)myTablegetModel(); 

while (rsnext()) {

    // 按数组方式添加 

    dtmaddRow(new String[]{rsgetString(0),rsgetString(1)});

}

需要先初始化列

defaultModelsetColumnIdentifiers(n);一行拿到defaultModel = new DefaultTableModel();的下方

看你代码应该是要构造这种函数

DefaultTableModel(Vector<Vector> data,Vector columnNames) 而你定义的BookInRecord显然不继承Vector而是ValueObject,所以转换失败报错了。

以上就是关于怎样将数据库的数据读取到JTable中全部的内容,包括:怎样将数据库的数据读取到JTable中、在java中去JTable的值、java swing如何把获取的文本框值添加到Table表格中,能否给个简单的例子,急用!急用!谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9342353.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存