当前位置: 代码迷 >> Java相关 >> [求助]连接数据库(初级)
  详细解决方案

[求助]连接数据库(初级)

热度:309   发布时间:2008-06-06 11:33:51.0
[求助]连接数据库(初级)
下面的代码是从.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  

----------------解决方案--------------------------------------------------------
看看这个 希望对你有所帮助
我也是找了Freish帮忙完成的
数据源名st
----------------解决方案--------------------------------------------------------
好的,谢谢啦.我先看看.
----------------解决方案--------------------------------------------------------
ConnectAccess.java
可以单独运行,类似的,我也做成功了.现在想把它输出到Table,就出问题了.

JavaAccess.java运行了出错啊...
说是找不到文件...东改西改,还是不行...
连接方式跟我的有点不一样,我再看看...
----------------解决方案--------------------------------------------------------
  相关解决方案