| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2320 人关注过本帖
标题:程序用JTable列出数据库的数据,百思不得其解
取消只看楼主 加入收藏
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
 问题点数:0 回复次数:15 
程序用JTable列出数据库的数据,百思不得其解

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.table.*;

public class Teldirectory {

public Teldirectory () {
JFrame f=new JFrame();
TelTable tt=new TelTable();
JTable table=new JTable(tt);
table.getPreferredScrollableViewportSize(new Dimension(550,30));
JScrollPane e=new JScrollPane(table);
f.getContentPane().add(s,BorderLayout.CENTER);
f.setTitle("电话簿");
f.pack();
f.setVisible(true);

}
}

class TelTable extends AbstractTableModel{ //tableModel
DataBaseManager db=new DataBaseManager();
ResultSet rs;
ResultSetMetaData rsmd;
String strSql="select * from communication";

try{
rs=db.getResult(strSql);
rsmd=rs.getMetaData();
int dbrow=rsmd.getColumnCount(); //获取列数
int dbcol=0; //获取行数
while(rs.next()){ //不知道用什么方法统计行数
dbcol++;
}
System.out.println("cow:"+dbrow);
System.out.println("col:"+dbcol);
}
catch(SQLException sqle)
{
System.out.println(sqle.toString());
}
catch(Exception ex)
{
System.out.println(ex.toString());
}


String[] name={"ID","姓名","手机","电话","QQ"};
String[][] data=new String[dbrow][dbcol];
rs.first();
try{
int i=1;
while(rs.next()){
for(int j=0;j<name.length;j++)
data[i][j]=rs.getString(j);
i++;
}
}
catch(SQLException sqle)
{
System.out.println(sqle.toString());
}
catch(Exception ex)
{
System.out.println(ex.toString());
}

public int getColumnCount() {
return name.length;
}

public int getRowCount() {
return data.length;
}

public String getColumnName(int col) {
return name[col];
}

public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
}

代码很多错误,我实在想不通是怎么回事,要做的事情是做一个电话本,从数据库提出数据,用表格展示,可是看了书和API,找不到想要的方法,请大家帮忙看看应该怎么修改,麻烦大家帮忙一下~

搜索更多相关主题的帖子: 数据库 百思不得其解 JTable 
2006-10-30 15:21
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 

有高手能帮忙看下程序的错误在那里吗?
只是想做个电话本 就用表格的形式列出信息
ID 姓名 手机 电话 QQ
001 张三 136xxxxx 110 123xxxxx
002 李四 136xxxxx 120 123xxxxx
003 牛一 136xxxxx 119 123xxxxx
003 路人甲 136xxxxx 110 123xxxxx

貌似产生以上的效果。。。。。
数据库是以下 id是主键 数据库中的表名:communication
id name handset tel qq
001 张三 136xxxxx 110 123xxxxx
002 李四 136xxxxx 120 123xxxxx
003 牛一 136xxxxx 119 123xxxxx
003 路人甲 136xxxxx 110 123xxxxx

2006-10-30 17:24
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
应该怎么获得ResultSet结果的行数呢?
2006-10-30 18:15
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
我的程序里面也用了这个,但是错误太多了,我很费解
冰封大哥帮忙仔细看看
2006-10-30 18:18
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
我用JC编译的,编译不通过,他是指向try,错误是非法的类型开始


String[] name={"ID","姓名","手机","电话","QQ"}; 这里说需要标识符
String[][] data=new String[dbrow][dbcol];

不应该是这样定义吗?
2006-10-30 18:23
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 

我改改看看,麻烦继续跟踪
是不是全部都在里面得到呢?
这样的话,我在TRY外面的就得不到数据了

2006-10-30 18:49
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
我把他改成公有的可以吗?
2006-10-30 18:51
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
这些是自己定义JTable的model
要实现AbstractTableModel
2006-10-30 18:56
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 
getResult()是自己做的数据库类,可以使用SQL语句获得结果集的,我在其他模块都没有问题了
2006-10-30 18:58
dengyiming
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2004-12-17
收藏
得分:0 

我的思路是想获得 列数和行数
然后定义表格的大小
再把结果内容填进去表中

2006-10-30 19:01
快速回复:程序用JTable列出数据库的数据,百思不得其解
数据加载中...
 
   



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

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