| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1148 人关注过本帖
标题:[分享]JTable添加数据库表实例
只看楼主 加入收藏
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
结帖率:33.33%
收藏
 问题点数:0 回复次数:2 
[分享]JTable添加数据库表实例

自己搞了好久在高手的帮助下写出来了,和大家一起共享!

package untitled22;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.*;
import javax.swing.JTable;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Frame1 extends JFrame {

Untitled1 un = new Untitled1();

JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable(un);

public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}

/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jScrollPane1.getViewport().add(jTable1);
contentPane.add(jScrollPane1, java.awt.BorderLayout.CENTER);
}

public static void main (String [] args)
{
Frame1 f = new Frame1();
f.setVisible(true);
}

}


package untitled22;

import javax.swing.table.AbstractTableModel;
import java.util.Vector;
import java.sql.*;
import javax.swing.JOptionPane;

public class Untitled1 extends AbstractTableModel {

private Vector title;
private Vector data;
Connection con;
Statement st;
ResultSet rs;
ResultSetMetaData rsmd;

public Untitled1() {
super();
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}

public void myTable() {
try {
String str = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(str);
} catch (ClassNotFoundException ce) {
JOptionPane.showMessageDialog(null, ce.toString());
}
try {
con = DriverManager.getConnection("jdbc:odbc:NetBar");
st = con.createStatement();
rs = st.executeQuery("SELECT * FROM Card");
rsmd = rs.getMetaData();

for (int i = 0; i < rsmd.getColumnCount(); i++) {
title.add(rsmd.getColumnLabel(i + 1));
}

while (rs.next()) {
for (int j = 0; j < rsmd.getColumnCount(); j++) {
data.add(rs.getString(j + 1));
}
}
} catch (SQLException se) {
JOptionPane.showMessageDialog(null, se.toString());
}
}

public int getColumnCount() {
return title.size();
}

public int getRowCount() {
return data.size() / getColumnCount();
}

public Object getValueAt(int rowIndex, int columnIndex) {
return data.get((rowIndex * getColumnCount()) + columnIndex);
}

public String getColumnName(int columnIndex) {
String colName = new String();
if (columnIndex <= getColumnCount()) {
colName = (String) title.get(columnIndex);
}
return colName;
}

private void jbInit() throws Exception {
title = new Vector();
data = new Vector();
this.myTable();
}
}

[此贴子已经被作者于2006-12-7 22:21:34编辑过]

搜索更多相关主题的帖子: import 数据库 JTable 表实 awt 
2006-12-07 18:03
zhouqingle
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-2-4
收藏
得分:0 

晕```没有main方法,怎么运行啊???


学会珍惜,所以懂得放弃;学会残忍,所以懂得完整. 有自己的性格,自信,乐观,顺其自然,爱自己最好.
2006-12-07 18:38
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
这个是直接放在JB里的  我把代码粘出来的!上面那个我改好了!其实这段代码也不全!还有一些功能没有实现!只是放出来让大家指点指点还有什么不足!呵呵

[此贴子已经被作者于2006-12-7 22:23:29编辑过]



2006-12-07 22:18
快速回复:[分享]JTable添加数据库表实例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011684 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved