| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 634 人关注过本帖
标题:将数据库中的数据输入到JTable出错
只看楼主 加入收藏
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
结帖率:100%
收藏
 问题点数:0 回复次数:1 
将数据库中的数据输入到JTable出错
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package database_table;

import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

/**
 *
 * @author Administrator
 */
class database extends JFrame {

    JTable jt;
    JScrollPane js;
    Object data[][]=null;
    Object head[] = {"用户名", "密码"};

    public database() {

        super("数据库实例");
        this.connect();
        this.setVisible(true);
        this.setResizable(false);
        this.setSize(400, 300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private void connect() {
        try {
            int rows = 0, index = 0;
            Connection con = DriverManager.getConnection("jdbc:odbc:mydatabase");
            Statement cmd = con.createStatement();
            ResultSet rs = cmd.executeQuery("select * from userlogin");
            while (rs.next()) {
                rows++;
            }
           data = new Object[rows][2];
           rs.beforeFirst();//beforeFirst 不是将光标移到第一行吗?为什么这里会抛出异常??
            while (rs.next()) {
                data[index][0] = rs.getString(1);
                data[index][1] = rs.getString(2);
                index++;
            }
           
        } catch (SQLException ex) {
            //Logger.getLogger(database.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("数据库异常!");
        }
        jt = new JTable(data, head);
        js = new JScrollPane(jt);
        this.setContentPane(js);

    }
}

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        new database();
    }
}
我的红色部分是取得表的行数,但是当执行到绿色部分是就抛出异常了,想问一下这个地方该怎么做?
如果有更好的方法请贴上代码一起研究研究!
搜索更多相关主题的帖子: JTable 数据库 输入 
2010-04-20 21:49
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:0 
问题解决了
Statement cmd = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);这个地方要这样改就好了。
当时还有就是拖动那个表格的列名是会把两列交换位置,怎么设置才能让他们固定下来
2010-04-20 22:59
快速回复:将数据库中的数据输入到JTable出错
数据加载中...
 
   



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

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