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

Python011

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当然,还有一些其它的操作,比如把表格显示出来,表格的字体、行高等设置等等,不再一一赘述。

用java输出数据库表 示例:

import java.awt.BorderLayout

import java.awt.Color

import java.awt.Font

import java.beans.Statement

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.util.Vector

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JScrollPane

import javax.swing.JTable

public class Stmessege1 extends JFrame {

private static final long serialVersionUID = 1L

private JTable table// 声明表格

void Stmessege11() {

setSize(460, 320)

setVisible(true)

}

public Vector getDataVector() throws SQLException, ClassNotFoundException {

Connection conn = null

java.sql.Statement stmt = null

Class.forName("com.mysql.jdbc.Driver")

String dburl = "jdbc:mysql://localhost:3306/hp"

String dbuser = "root"

String dbpassword = "19920102"

conn = DriverManager.getConnection(dburl, dbuser, dbpassword)

stmt = conn.createStatement()

String sql = "select* from xsgli"

ResultSet rs = stmt.executeQuery(sql)

Vector dataVector = new Vector()

while (rs.next()) {

Vector rowVector = new Vector()

for (int i = 1i <= 7i++) {

if (i == 2 || i == 4) {

rowVector.add(String.valueOf(rs.getInt(i)))

} else {

rowVector.add(rs.getString(i))

}

}

dataVector.add(rowVector)

}

return dataVector

}

public Vector getColumnVector() {

Vector columnVector = new Vector()

columnVector.add("姓名")

columnVector.add("学号")

columnVector.add("性别")

columnVector.add("班级")

columnVector.add("系别")

columnVector.add("成绩")

columnVector.add("专业")

return columnVector

}

public Stmessege1() throws SQLException, ClassNotFoundException {

super()

setTitle("学生学籍数据显示")

setBounds(100, 100, 382, 223)

// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

Connection conn = null

Statement stmt = null

Class.forName("com.mysql.jdbc.Driver")

String dburl = "jdbc:mysql://localhost:3306/hp"

String dbuser = "root"

String dbpassword = "19920102"

conn = DriverManager.getConnection(dburl, dbuser, dbpassword)

java.sql.Statement st = conn.createStatement()

String sql = "select* from xsgli"

ResultSet rs = st.executeQuery(sql)

Vector columnVector = getColumnVector()

Vector dataVector = getDataVector()

final JScrollPane scrollPane = new JScrollPane()

getContentPane().add(scrollPane, BorderLayout.CENTER)

table = new JTable(dataVector, columnVector)

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)

scrollPane.setViewportView(table)

}

}

//JTable你用错了吧 

private static String tableRows[] = {"编号", "名称", "规格", "数量", "原价"}

    public final static int ROW_MAX = 100 //表格最大行数

    private static String tableColunms[][] = new String[ROW_MAX][tableRows.length]

 

    public static JTable table = new JTable(tableColunms, tableRows)

    public static JScrollPane scrollpane = new JScrollPane(table)//添加滚动条