java 中获取 mysql 里数据并在java jtable 设置表头无法显示

JTable报表中总是显示不出数据
&来源:读书人网&【读书人网():综合教育门户网站】
JTable表格中总是显示不出数据只显示出空的表格,不显示数据库数据代码如下:Class.forName(com.mysql.jdbc
JTable表格中总是显示不出数据只显示出空的表格,不显示数据代码如下:&&&&&&&&&&Class.forName("com.mysql.jdbc.Driver");&&&&&&&&&&&&connect&=&DriverManager.getConnection("jdbc:mysql://localhost/tablesys?"&+&"user=test&password=123");&&&&&&&&&&&&preparedStatement&=&connect.prepareStatement("select&*&from&tablesys.booking&");&&&&&&&&&&&&ResultSet&rs&=&preparedStatement.executeQuery();&&&&&&&&&&&&&&&int&count&=&0;&&&&&&&&&&&&&&&while(rs.next()){&&&&&&&&&&&&&&&count++;&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&Object[][]&info&=&new&Object[count][6];&&&&&&&&&&&&while(rs.next()){&&&&&&&&&&&&&info[count][0]&=&rs.getString("date")+&"&"&+rs.getString("time");&&&&&&&&&&&&&info[count][1]&=&rs.getString("name");&&&&&&&&&&&&&info[count][2]&=&rs.getString("peopleamout");&&&&&&&&&&&&&info[count][3]&=&Integer.valueOf(&rs.getInt("tableid"));&&&&&&&&&&&&&info[count][4]&=&rs.getString("phone");&&&&&&&&&&&&&info[count][5]&=&Integer.valueOf(&rs.getInt("bookingid")&);&&&&&&&&&&&&&&&}&&&&&&&&&&&MyTableModel&model&=&new&MyTableModel(info,&new&String[]{&&&&&&&&&&&&&&&&&&&&&&&&&&&&"Time",&"Name",&"Covers",&"Table&No",&"Phone",&"BookingID"&&&&&&&&&&&&&&&&&&&&&&&&});&&&&&&&&&&&jTable1.setModel(model);&&&&&&&&&&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&&&Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE,&null,&ex);&&&&&&&&&&&&}
[解决办法]&&&&&&&&&Class.forName("com.mysql.jdbc.Driver");&&&&&&&&&&&&connect&=&DriverManager.getConnection("jdbc:mysql://localhost/tablesys?"&+&"user=test&password=123");&&&&&&&&&&&&preparedStatement&=&connect.prepareStatement("select&*&from&tablesys.booking&");&&&&&&&&&&&&ResultSet&rs&=&preparedStatement.executeQuery();&&&&&&&&&&&&&&&int&count&=&0;&&&&&&&&&&&&&&&while(rs.next()){//&这里已经迭代完了,所以下面2处没有了&&&&&&&&&&&&&&&count++;&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&Object[][]&info&=&new&Object[count][6];&&&&&&&&&&&&while(rs.next()){//这里没有进入&&&&&&&&&&&&&info[count][0]&=&rs.getString("date")+&"&"&+rs.getString("time");&&&&&&&&&&&&&info[count][1]&=&rs.getString("name");&&&&&&&&&&&&&info[count][2]&=&rs.getString("peopleamout");&&&&&&&&&&&&&info[count][3]&=&Integer.valueOf(&rs.getInt("tableid"));&&&&&&&&&&&&&info[count][4]&=&rs.getString("phone");
&&&&&&&&&&&&&info[count][5]&=&Integer.valueOf(&rs.getInt("bookingid")&);&&&&&&&&&&&&&&&}&&&&&&&&&&&MyTableModel&model&=&new&MyTableModel(info,&new&String[]{&&&&&&&&&&&&&&&&&&&&&&&&&&&&"Time",&"Name",&"Covers",&"Table&No",&"Phone",&"BookingID"&&&&&&&&&&&&&&&&&&&&&&&&});&&&&&&&&&&&jTable1.setModel(model);&&&&&&&&&&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&&&Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE,&null,&ex);&&&&&&&&&&&&}&[解决办法]错误就是二楼说错的那个错误,但是方法可以这样改。另外,记得以前有人没加列名而导致没有成功的输入数据,楼主如果遇到这种问题的话记得加上列名。&Class.forName("com.mysql.jdbc.Driver");&&&&&&&&&&&connect&=&DriverManager.getConnection("jdbc:mysql://localhost/tablesys?"&+&"user=test&password=123");&&&&&&&&&&&preparedStatement&=&connect.prepareStatement("select&*&from&tablesys.booking&");&&&&&&&&&&&ResultSet&rs&=&preparedStatement.executeQuery();&&&&&&&&&&&&&&int&count&=&0;//&&&&&&&&&&&&&&Object[][]&info&=&new&Object[count][6];//这里不一定非得用数组的。改成List&E&形式的&&&&&&&&&&&&&//改成这种形式&&&&&&&&&&&&&&List&Object[]&&list=new&ArrayList&Object[]&();&&&&&&&&&&&&&&&&&&&&&&&&&&&&while(rs.next()){&&&&&&&&&&&&&&&&&&&&&&&&&Object[]&info=new&Object[6];&&&&&&&&&&&&info[0]&=&rs.getString("date")+&"&"&+rs.getString("time");&&&&&&&&&&&&info[1]&=&rs.getString("name");&&&&&&&&&&&&info[2]&=&rs.getString("peopleamout");&&&&&&&&&&&&info[3]&=&Integer.valueOf(&rs.getInt("tableid"));&&&&&&&&&&&&info[4]&=&rs.getString("phone");&&&&&&&&&&&&info[5]&=&Integer.valueOf(&rs.getInt("bookingid")&);&&&&&&&&&&&&list.add(info);&&&&&&&&&&&&&&}&&&&&&&&&&MyTableModel&model&=&new&MyTableModel(info,&new&String[]{&&&&&&&&&&&&&&&&&&&&&&&&&&&"Time",&"Name",&"Covers",&"Table&No",&"Phone",&"BookingID"&&&&&&&&&&&&&&&&&&&&&&&});&&&&&&&&&&jTable1.setModel(model);&&&&&&&&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&&Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE,&null,&ex);&&&&&&&&&&&}&[解决办法]引用:&&&&Class.forName("com.mysql.jdbc.Driver");&&&&&&&&&&&&connect&=&DriverManager.getConnection("jdbc:mysql://localhost/tablesys?"&+&"user=test&password=123");&&&&&&&&&&&&preparedStatement&=&connect.prepareStatement("select&*&from&tablesys.booking&");&&&&&&&&&&&&ResultSet&rs&=&preparedStatement.executeQuery();&&&&&&&&&&&&&&&int&count&=&0;&&&&&&&&&&&&&&&Object[][]&info&=&new&Object[count][6];
&&&&&&&&&&&&&&&while(rs.next()){&&&&&&&&&&&&&&&count++;&&&&&&&&&&&&&info[count][0]&=&rs.getString("date")+&"&"&+rs.getString("time");&&&&&&&&&&&&&info[count][1]&=&rs.getString("name");&&&&&&&&&&&&&info[count][2]&=&rs.getString("peopleamout");&&&&&&&&&&&&&info[count][3]&=&Integer.valueOf(&rs.getInt("tableid"));&&&&&&&&&&&&&info[count][4]&=&rs.getString("phone");&&&&&&&&&&&&&info[count][5]&=&Integer.valueOf(&rs.getInt("bookingid")&);&&&&&&&&&&&&&&&}&&&&&&&&&&&MyTableModel&model&=&new&MyTableModel(info,&new&String[]{&&&&&&&&&&&&&&&&&&&&&&&&&&&&"Time",&"Name",&"Covers",&"Table&No",&"Phone",&"BookingID"&&&&&&&&&&&&&&&&&&&&&&&&});&&&&&&&&&&&jTable1.setModel(model);&&&&&&&&&&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&&&Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE,&null,&ex);&&&&&&&&&&&&}应该是这样:&&&&Class.forName("com.mysql.jdbc.Driver");&&&&&&&&&&&&connect&=&DriverManager.getConnection("jdbc:mysql://localhost/tablesys?"&+&"user=test&password=123");&&&&&&&&&&&&preparedStatement&=&connect.prepareStatement("select&*&from&tablesys.booking&");&&&&&&&&&&&&ResultSet&rs&=&preparedStatement.executeQuery();&&&&&&&&&&&&&&&int&count&=&0;&&&&&&&&&&&&&&&Object[][]&info&=&new&Object[count][6];&&&&&&&&&&&&&&&while(rs.next()){&&&&&&&&&&&&&info[count][0]&=&rs.getString("date")+&"&"&+rs.getString("time");&&&&&&&&&&&&&info[count][1]&=&rs.getString("name");&&&&&&&&&&&&&info[count][2]&=&rs.getString("peopleamout");&&&&&&&&&&&&&info[count][3]&=&Integer.valueOf(&rs.getInt("tableid"));&&&&&&&&&&&&&info[count][4]&=&rs.getString("phone");&&&&&&&&&&&&&info[count][5]&=&Integer.valueOf(&rs.getInt("bookingid")&);&&&&&&&&&&&&&count++;&&&&&&&&&&&&&&&}&&&&&&&&&&&MyTableModel&model&=&new&MyTableModel(info,&new&String[]{&&&&&&&&&&&&&&&&&&&&&&&&&&&&"Time",&"Name",&"Covers",&"Table&No",&"Phone",&"BookingID"&&&&&&&&&&&&&&&&&&&&&&&&});&&&&&&&&&&&jTable1.setModel(model);&&&&&&&&&&&&&&&&&&&&&&&}&catch&(Exception&ex)&{&&&&&&&&&&&&&&&&Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE,&null,&ex);&&&&&&&&&&&&}用java如何把数据库的内容显示到屏幕上-中国学网-中国IT综合门户网站
> 用java如何把数据库的内容显示到屏幕上
用java如何把数据库的内容显示到屏幕上
转载 编辑:李强
为了帮助网友解决“用java如何把数据库的内容显示到屏幕上”相关的问题,中国学网通过互联网对“用java如何把数据库的内容显示到屏幕上”相关的解决方案进行了整理,用户详细问题包括:内容已经查找出来了,具体解决方案如下:解决方案1:getInt(&/+/姓名;td&id&%=tr&id为.executeQuery();tr&gt.getInt(“id”));&lt.out:&name&&td&%=rs:&quot.getInt(&/& S&td&在网页上输出&lt./
while());+name&quot.next()){&#47:&&姓名为;)%&&#47:&在后台输出 S/)%&gt.println(&quot.println(&td&gt.getString(&quotResultSet rs = ps解决方案2:谢谢!解决方案3:数据库查好了,内容也出来了,关键就是不知道怎么显示在浏览器上解决方案4:放到 jsp 页面上 然后 发布项目 web请求路径 就可以显示了、解决方案5:不是这个意思,就还是用java来编写解决方案6:java 的 显示端 就是 jsp啊、 额 不明白 你要什么、 java的显示 都在 jsp页面上的、通过对数据库的索引,我们还为您准备了:问:内容已经查找出来了答:ResultSet rs = ps.executeQuery(); while(rs.next()){ //在后台输出 System.out.println("id为:"+rs.getInt(“id”)); System.out.println("姓名为:"+rs.getString("name")); //在网页上输出 id: 姓名: }===========================================问:我用的是SqlServer2005!我现在做好了查询的,查询数据库中所有的内容!...答:你查询出来的结果在结合里, 比如叫rsif(rs.next){ //循环把你查询的结果读出来. 并填充到你新的窗体上}===========================================问:我用的是SqlServer2005! 我现在做好了查询的,查询数据库中所有的内容...答:public class frame1 extends JFrame { public frame1() { setContentPane(getPanel()); setSize(200, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } private JPanel getPanel() { JPanel panel = new JPanel(new Border...===========================================问:我在Java中自己定义了一个表格,我想将在数据库中查询到的数据显示在这...答:JTable的有一个方法是getTableModel().返回提供此 JTable 所显示数据的 TableModel. TableModel是一个接口,实际上返回的是DefaultTableModel类,它实现了TableModel接口。这个类中有一个方法是void addRow(Object[] rowData)。它就是将一行插入...===========================================问:我在Java中自己定义了一个表格,我想将在数据库中查询到的数据显示在这...答:这个问题大了,用程序连数据库,从数据库里读数据,就这点事,但内容部少。===========================================问:我在Java中自己定义了一个表格,我想将在数据库中查询到的数据显示在这...答:把数据库得到的数据封装在javabean中,再在jsp页面中创建这个javabean的实例,然后用这个实例调用javabean里面的getXXX(属性名)方法得到数据显示出来就行了;也可以直接在jsp页面中用 这种jsp标准动作来引用javabean从而得到数据并显示。===========================================问:部分代码如下: public showtable() { initComponents(); this.setLocat...答:看你代码 思路是这样, 但是你还需要再定义一个VECTOR ,比如叫做 vector1 用来存放 你自己定义的那个newRow, 然后用 tableModel.getModel(vector1) 在窗体中就能显示 数据库中查询出来的数据了===========================================问:如题,数据库中java代码如下public String StaffDistribution() throws ...答:如果这是在action种的方法 那么就可以使用response.getWriter().print(percentage); ajax就可以取到了===========================================问:我是在action里获取的字段值 然后 在jsp页面用逻辑迭代接收的 想在那个j...答:第一种方式,那就是路径了:为 主要是为src赋值,如果路径正确的话,就能显示。你可以先把路径都设为绝对路径。 比如说你的ArrayList al action: al.add("image/img1.jpg"); al.add("image/img2.jpg"); al.add("image/img3.jpg"); request.setAt...=========================================== JtextField t = new JtextField();t.setText(name);===========================================你的数据库已经联上了,我就不写连接数据库的代码了,连接数据库的代码你可以写意个... ps, rs); } }你可知直接直接把这几项用system打印在控制台上就好student.setI...=========================================== import java.awt.event.ActionE import java.awt.event.ActionL import java.s... title); // 显示表头 this.jth = this.tabDemo.getTableHeader(); // 将JTable加入到带滚动...===========================================可以检索出结果来然后将数据设置到JTable里面===========================================添加新JPanel根据同用途调用设置同控件用新建界面能够完所功能使用候像windows同选项卡公用同窗口===========================================以按钮事件为例,你在按钮上设置监听,但有按钮单击时间事件发生,你直接在触发事件里写数据库查询操作代码就行了。至于查到的数据看你想怎么显示了。简单的,如校验用户...===========================================数据库用java实现的方式大致上是两类:一种是直接使用JDBC,自己负责管理数据库的连... 数据库的连接和SQL处理。 JSP显示有很多种,比较直接的方式可以用session的对象...=========================================== 设置模型(model)然后使用模型的方法添加行!&例如:dtm = new DefaultTableModel(new String[]{"姓名","性别","年龄"},0);JTable jTab...===========================================如果您是想通过JDBC连接数据库获得的数据通过jsp显示。 通常把数据通过bean封装放入httpservletRequest对象中,在jsp页面获取。 方法二,通过流写入jsp页面。 依情况而...=========================================== 你的数据表message是什么结构的,都有哪些列? 我要先设计JTable的模板才能往里添加数据 这个我套用以前的程序,应该很容易改出来===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助JTable显示数据库中的多行数据时,只显示了一行数据_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:271,153贴子:
JTable显示数据库中的多行数据时,只显示了一行数据收藏
如果想要显示多行数据的话,那该怎么写?while(rs.next()) {
Vector grade=new Vector();
grade.addElement(rs.getString(1));
grade.addElement(rs.getString(2));
grade.addElement(rs.getString(3));
grade.addElement(rs.getString(4));
grade.addElement(rs.getString(5));
grade.addElement(rs.getString(6));
grade.addElement(rs.getString(7));
vect.addElement(grade);//向量vect加入向量grade中
JTableModel.fireTableStructureChanged();
请问你现在会了吗?会的话请教我,谢谢
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或8090人阅读
&&&& 最近在学习java swing包里面的JTable类,然后就想把JTable和jdbc结合起来做一个例子,使用JTable显示数据库中的表的内容。经过一番努力,终于成功了,呵呵。主要是获得数据表的记录数和字段数比较麻烦,因为ResultSet里面没有直接的方法,需要使用sql语句:&select count(*) from table&来取得记录数。
&&&& 下面就是我写的例子,数据库采用Access2000。
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;
public class test{&public test() throws Exception&{&&String[]&&int i,j,RowNum,ColN&&Object[][]&&S&&ResultS&&&&JFrame f=new JFrame(&利用JTable显示数据库表&);&&//连接数据库&&f.addWindowListener(&&&new WindowAdapter()&&&{&&&&public void windowClosing(WindowEvent e)&&&&{&&&&&System.exit(0);&&&&}&&&}&&);&&Class.forName(&sun.jdbc.odbc.JdbcOdbcDriver&).newInstance();&&String url=&jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=db1&;&&Connection connection=DriverManager.getConnection(url,&&,&&);&&Statement sta=connection.createStatement();&&&&sqlstr=&select count(*) from table1&;&&//取得数据表的记录数和字段数&&res=sta.executeQuery(sqlstr);&&res.next(); &&RowNum=res.getInt(1);&&sqlstr=&select * from table1&;&&res=sta.executeQuery(sqlstr);&&ResultSetMetaData rsmd=res.getMetaData();&&ColNum=rsmd.getColumnCount();&&&&names=new String[ColNum];&&&&&//构造JTable&&for (i=1;i&=ColNi++) names[i-1]=rsmd.getColumnName(i);&&info=new Object[RowNum][];&&i=0;&&while (res.next())&&{&&&info[i]=new Object[ColNum];&&&for (j=1;j&=ColNj++)&&&{&&&&info[i][j-1]=res.getObject(j);&&&}&&&i++;&&}&&JTable table=new JTable(info,names);&&table.setPreferredScrollableViewportSize(new Dimension(400,50));&&&&JScrollPane scrollPane=new JScrollPane(table);&&Container cont=f.getContentPane();&&cont.add(scrollPane);&&f.pack();&&f.setLocation(300,300);&&f.setResizable(false);&&f.setVisible(true);&}&public static void main(String[] args) throws Exception&{&&new test();&}}
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:47131次
排名:千里之外
原创:21篇
评论:32条
(1)(1)(1)(2)(1)(1)(1)(3)(1)(1)(3)(3)(1)(5)共有 1451 人关注过本帖
标题:从数据库里读出的数据怎样写到JTable表格里
等 级:新手上路
帖 子:507
&&问题点数:0&&回复次数:7&&&
从数据库里读出的数据怎样写到JTable表格里
请问从数据库里读出的数据怎样写到JTable表格里
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:77
我真在学,学好了教你
好好编程好好学习
等 级:贵宾
威 望:11
帖 子:738
用TableModel
子非鱼,安知鱼之江湖?子非我,安知我之功夫
http://20681.bc-cn.net
等 级:新手上路
帖 子:507
谢谢各位,我弄了一个,如下class RecordList extends JFrame implements ActionListener{ JTable jt=
//表格 Container c=this.getContentPane(); JButton jb1=new JButton("清除记录"); JButton jb2=new JButton("关闭"); JPanel jp=new JPanel(); BorderLayout bl=new BorderLayout(); Connection con= Statement st= ResultSet rs= public RecordList() {
super("排行榜");
c.setLayout(new FlowLayout());
c.setBackground(new Color(29,250,180));
jp.setLayout(bl);
String[] title={"姓名","次数"};
String[][] data={{null},{null} };
jt=new JTable(6,2);
jt.setRowHeight(30);
//jp.add(jt.getTableHeader(),BorderLayout.NORTH);
jp.add(jt,BorderLayout.CENTER);
c.add(jp);
c.add(jb1);
c.add(jb2);
jb1.addActionListener(this);
jb2.addActionListener(this);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:xx");
st = con.createStatement();
rs=st.executeQuery("select top 5 * from
record order by gsum asc");
while(rs.next())
String str1=rs.getString(1);
String str2=rs.getString(2);
jt.setValueAt(str1,i-1,0);
jt.setValueAt(str2,i-1,1);
st.close();
con.close();
}catch(Exception ex) { ex.printStackTrace();}
this.setSize(220,280);
this.setLocation(200,200);
this.setResizable(false);
} public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(jb1))
我的未来不是梦!
等 级:新手上路
帖 子:126
我也正在学这个,看了楼上的代码,明白了不少,谢了.
等 级:新手上路
final String[] a_String={"图书类别","借出期限"};
a_Vector=new Vector();
a_AbstractTableModel=new AbstractTableModel(){//创建一个动态数组
public int getColumnCount()
return a_String.
public int getRowCount()
return a_Vector.size();
public String getColumnName(int col)
return a_String[col];
public void setValueAt(Object value,int row,int column)
public Object getValueAt(int row, int col)
if(!a_Vector.isEmpty())
return((Vector)a_Vector.elementAt(row)).elementAt(col);
a_JTable=new JTable(a_AbstractTableModel);
a_JTable.addMouseListener(new j_Actin3());
a_JTable.setToolTipText("当你孤单你会想起我!");//设置帮助提示
a_JTable.setAutoResizeMode(0);
a_JTable.setCellSelectionEnabled(false);//设置单元格选择方式
a_JTable.setShowVerticalLines(true);//设置是否显示单元格间的分割线
a_JTable.setShowHorizontalLines(true);
a_JTable.setAutoResizeMode(1); // 设置表格为自动排列方式
a_JScrollPane=new JScrollPane(a_JTable);
while(rs.next())
Vector a_Vector1=new Vector();
a_Vector1.addElement(rs.getString(1));
a_Vector1.addElement(rs.getString(2));
a_Vector.addElement(a_Vector1);
我是JAVA新手,问题多多!请大家多多帮助,谢谢~~
等 级:论坛游民
帖 子:13
专家分:20
等 级:论坛游民
帖 子:13
专家分:20
你学的这跟我们学的如出一辙,只是我们没学向量。
版权所有,并保留所有权利。
Powered by , Processed in 0.202815 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

更多关于 java jtable 添加数据 的文章

 

随机推荐