社区
Java EE
帖子详情
如何读取数据库里的数据并在JTable表格中显示出来。
麦子_9
2005-05-05 09:58:43
如何读取数据库里的数据并在JTable表格中显示出来。
窗体上有一JTable,如何让数据库里的数据在表格里显示出来
谢谢!!!
...全文
745
8
打赏
收藏
如何读取数据库里的数据并在JTable表格中显示出来。
如何读取数据库里的数据并在JTable表格中显示出来。 窗体上有一JTable,如何让数据库里的数据在表格里显示出来 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
麦子_9
2005-05-23
打赏
举报
回复
无冬之夜 能把你做的那个给我一份吗?我也是刚学的
imain@163.com
Actual
2005-05-22
打赏
举报
回复
前几天,我刚做了一个,看看你对数组的操作是否熟悉,
像我不熟悉,就用数据模型去读库里的数据库,比较简单.
麦子_9
2005-05-22
打赏
举报
回复
谢谢 向往未来
mituzhishi
2005-05-22
打赏
举报
回复
自己new一个实例看一下结果吧,
我假设你懂得怎样连接数据库,
我这里用的是mysql.
mituzhishi
2005-05-22
打赏
举报
回复
import java.awt.*;
import javax.swing.*;
import javax.swing.table.TableColumn;
public class tableUI extends JPanel
{
public tableUI(String databaseName, String tableName, String[] colNames,
int[] colWidth, int totalWidth) {
try {
Class.forName("org.gjt.mm.mysql.Driver");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
tableHandler = new TableHandler(databaseName, tableName, colNames);
tableHandler.updateTable();
TableColumn column = null;
table = new JTable(tableHandler);
table
.setPreferredScrollableViewportSize(new Dimension(totalWidth,
210));
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
for (int i = 0; i < colWidth.length; i++) {
column = table.getColumnModel().getColumn(i);
column.setPreferredWidth(colWidth[i] * 100);
}
JScrollPane s = new JScrollPane(table);
this.add(s, BorderLayout.CENTER);
this.setSize(this.getPreferredSize());
setVisible(true);
}
JTable table;
JScrollPane scrollPane;
public TableHandler tableHandler;
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.AbstractTableModel;
public class TableHandler extends AbstractTableModel {
public TableHandler(String databaseName, String tableName, String[] colNames) {
super();
this.tableName = tableName;
this.databaseName = databaseName;
colNum = colNames.length;
this.colNames = new String[colNum];
System.arraycopy(colNames, 0, this.colNames, 0, colNum);
}
public void updateTable() {
try {
Connection conn;
conn = DriverManager.getConnection("jdbc:mysql://localhost/"
+ databaseName + "?user=root&password=");
Statement myStatement = conn.createStatement();
ResultSet rt = myStatement.executeQuery("SELECT count(*) FROM "
+ tableName);
rt.next();
rowNum = rt.getInt(1);
list = new String[rowNum][colNum];
ResultSet rs = myStatement.executeQuery("SELECT * FROM "
+ tableName);
int row = 0;
while (rs.next()) {
for (int i = 0; i < colNum; i++) {
list[row][i] = rs.getString(colNames[i]);
}
row++;
}
conn.close();
fireTableDataChanged();
} catch (SQLException e) {
System.out.println(e);
}
}
public int getColumnCount() {
return colNum;
}
public int getRowCount() {
return rowNum;
}
public String getColumnName(int col) {
return colNames[col];
}
public Object getValueAt(int row, int column) {
return list[row][column];
}
String[][] list;
String[] colNames;
String tableName;
String databaseName;
int rowNum;
int colNum;
}
麦子_9
2005-05-06
打赏
举报
回复
非常感谢!!1我试试看
tlowl
2005-05-05
打赏
举报
回复
这段程序是去年我做的一个小型MIS中的一个类,应该符合你的要求,不过我是把JTable放入了JInternalFrame里,你也可以试试别的容器,去年我做的时候一开始把它放进JPanel是没有成功,别的容器还没有试
tlowl
2005-05-05
打赏
举报
回复
import java.awt.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;
/**
* TableQueryFrame extends JInternalFrame to create a display which builds SQL
* CREATE statements
*/
class TableQueryFrame extends JInternalFrame
{
JTable table;
JScrollPane tableScroller;
DatabaseUtilities dbUtils;
String tableName = null;
String colNames[] = null;
String dataTypes[] = null;
String SQLQuery = null;
public TableQueryFrame(String tableName, DatabaseUtilities dbUtils)
{
setSize(450,300);
setClosable(true);
setMaximizable(true);
setIconifiable(true);
setResizable(true);
getContentPane().setLayout(new BorderLayout());
this.tableName=tableName;
this.dbUtils=dbUtils;
colNames = dbUtils.getColumnNames(tableName);
dataTypes = dbUtils.getDataTypes(tableName);
SQLQuery = "SELECT TOP 5 * FROM "+tableName;
Vector dataSet = dbUtils.executeQuery(SQLQuery);
table = createTable(colNames,dataSet);
tableScroller = new JScrollPane(table);
getContentPane().add(tableScroller,BorderLayout.CENTER);
setVisible(true);
}
JTable createTable(String[] colNames,Vector dataSet)
{
int nRows = dataSet.size();
String[][] rowData = new String[nRows][colNames.length];
for(int i=0;i<nRows;i++)
{
Vector row = (Vector)dataSet.elementAt(i);
for(int j=0;j<row.size();j++)
rowData[i][j]=((Object)row.elementAt(j)).toString();
}
JTable table = new JTable(rowData,colNames);
return table;
}
}
Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3
实例045 用数组设置
JTable
表格
的列名与列宽 55 3.2 数组操作 57 实例046 数组的下标界限 57 实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组反转字符串 60 3.3 数组排序与查询 61 ...
jtabel 遍历_Java 将
数据
库
查询结果
显示
在
JTable
表格
中
时间:2018-10-12概述:
JTable
本实例主要实现两个功能,一是
读取
数据
库
,二是将
读取
到的
数据
显示
在
JTable
表格
中
,如果你对
JTable
的用法不熟悉,你可通过本代码了解一个完整的用法演示,在输出
表格
类型
数据
的时候,...
怎样将
数据
库
的
数据
读取
到
JTable
中
搞了一下午,想要将
数据
库
的
数据
展示到
JTable
中
发现了很多方法。 有的需要将
读取
到的
数据
放到Vctor类
中
,再用枚举类型将Vctor的
数据
一个一个
读取
出来。 甚是麻烦。 最终在linweieran的博客上发现了这个...
Java将
数据
库
的
数据
展示到
JTable
表格
中
Mysql
数据
库
内容展示写死版 import javax.swing.*; import java.awt.*; import java.sql.*; public class XieSiBan extends JFrame { public static void main(String[] args) { try { // 加载MySql驱动 Class.for...
怎样将
数据
库
的
数据
读取
到
JTable
中
?
第二步:将获取的
数据
通过循环进行输出到在容器
里
的
表格
中
,前提是先定义出
JTable
,在容器
中
显示
表格
。 public Object[][] allBook(BookInfo book){ Object [][] ob=new Object[60][9]; int n=0; ...
Java EE
67,511
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章