| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 376 人关注过本帖
标题:[求助]连接数据库(初级)
收藏  订阅  推荐  打印 
meteor57
Rank: 3Rank: 3
来自:银河系
等级:中级会员
帖子:269
积分:3438
注册:2007-9-29
[求助]连接数据库(初级)

下面的代码是从.mdb读出数据.然后显示在表格.有点问题,请教一下.

for(int i = 0; i < data.length; i++)    
{
data[i][0]=rs.getString(1);
data[i][1]=rs.getString(2);
data[i][2]=rs.getDate(3);
data[i][3]=rs.getFloat("数学");
data[i][4]=rs.getFloat("物理");
data[i][5]=rs.getFloat("英语");
}
中,用断点调式,可以看到,当i == 1会产生异常
如果把: i < data.length 改为: i < 1.则可以输出最后一行(为什么不是第一行?)
这是什么问题呢?要怎么弄才能正确显示呢?小弟先谢过了~~~

附:数据文件.

import java.sql.*;  
import java.awt.*;
import javax.swing.*;

class JTable1 extends JFrame
{
    JPanel cp = new JPanel();
    JTable jtable1;
    JScrollPane jscrp1 = new JScrollPane();
    public JTable1()
    {
        cp = (JPanel)this.getContentPane();
        this.setTitle("student");
        this.setSize(500, 200);
        cp.setLayout(new FlowLayout());
        
        Connection  con;
        Statement sql;
        ResultSet rs;
           
        try  {  
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            }
        catch  (java.lang.ClassNotFoundException  e)
            {  System.out.println(" 打不开文件!"); }  
        try  {
                con= DriverManager.getConnection("jdbc:odbc:st","meteor","12345");
                sql=con.createStatement();
                rs=sql.executeQuery("SELECT  *  FROM  result");
                Object data[][] = new Object[3][6];
                Object columnNames[] = {"学号","姓名","出生日期","数学","物理","英语"};
                 while(rs.next())
                 {
                    for(int i = 0; i < data.length; i++)    
                    {
                        data[i][0]=rs.getString(1);
                        data[i][1]=rs.getString(2);
                        data[i][2]=rs.getDate(3);
                        data[i][3]=rs.getFloat("数学");
                        data[i][4]=rs.getFloat("物理");
                        data[i][5]=rs.getFloat("英语");
                    }
                 }
                 jtable1 = new JTable(data,columnNames);
                 jtable1.setRowHeight(20);
                 jscrp1.getViewport().add(jtable1);
                 cp.add(jscrp1);
                
                 con.close();
            }
                  
            catch  (SQLException el)
            { System.out.println(" 打开了文件,但没能显示数据!"); }             
    }
}
public  class  JAVADB
{
    public static void main(String args[])
    {
        JTable1 JTable1 = new JTable1();
        JTable1.setVisible(true);
            
       }  
}
附件: 只有本站会员才能下载或查看附件,请您 登录注册
搜索更多相关主题的帖子: 数据库  import  java  初级  data  
2008-6-6 11:33
elan1986
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:194
积分:2210
注册:2007-12-17

看看这个 希望对你有所帮助
我也是找了Freish帮忙完成的
数据源名st
附件: 只有本站会员才能下载或查看附件,请您 登录注册
2008-6-6 21:48
meteor57
Rank: 3Rank: 3
来自:银河系
等级:中级会员
帖子:269
积分:3438
注册:2007-9-29

好的,谢谢啦.我先看看.
2008-6-7 20:45
meteor57
Rank: 3Rank: 3
来自:银河系
等级:中级会员
帖子:269
积分:3438
注册:2007-9-29

ConnectAccess.java
可以单独运行,类似的,我也做成功了.现在想把它输出到Table,就出问题了.

JavaAccess.java运行了出错啊...
说是找不到文件...东改西改,还是不行...
连接方式跟我的有点不一样,我再看看...
2008-6-9 14:56
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.068085 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved