java写学生管理系统,报了vector数组越界的错,可是找不到哪里越界了!!求大神

代码如下:
package wenzailong.com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;

public class StudentModel extends AbstractTableModel{
Vector rowData,columnNames;

Connection conn=null;
PreparedStatement stmt=null;
ResultSet rs=null;

public void init(String sql)
{
if(sql.equals(""))
{
sql="use shiyan;select*from stu";
}

columnNames =new Vector();
columnNames.add("学号");
columnNames.add("名字");
columnNames.add("性别");
columnNames.add("年龄");
columnNames.add("籍贯");
columnNames.add("系别");  
rowData=new Vector();

rowData=new Vector();

try {
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=shiyan;";

conn = DriverManager.getConnection(url, "sa","as7758959a");
//建立Statement对象
stmt=conn.prepareStatement(sql);
//执行数据库查询语句
rs=stmt.executeQuery();
while(rs.next())
{
    Vector hang =new Vector();

    hang.add(rs.getString(1));
    hang.add(rs.getString(2));
    hang.add(rs.getString(3));
    hang.add(rs.getInt(4));
    hang.add(rs.getString(5));
    hang.add(rs.getString(6));

    rowData.add(hang);
}

}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
finally{
try {
if(rs!=null){rs.close();}
if(stmt!=null){stmt.close();}
if(conn!=null){conn.close();}

} catch (Exception e2) {
    // TODO: handle exception   
    }
}

}
public void addStu(String sql)
{

}
public StudentModel(String sql)
{
    this.init(sql);
}


public StudentModel()
{
    this.init("");
}

@Override//多少列
public int getColumnCount() {
    return this.rowData.size();
}
@Override//多少行
public int getRowCount() {
    return this.columnNames.size();
}

@Override//得到某行某列的数据
public Object getValueAt(int rowIndex1, int columnIndex1) {
    return ((Vector) this.rowData.get(rowIndex1)).get(columnIndex1);
}
@Override
public String getColumnName(int column) {
    return (String)this.columnNames.get(column);
}

}

求大神指导

报的错误里面不是会有哪一行数组越界吗,,,

 hang.add(rs.getString(1));
    hang.add(rs.getString(2));
    hang.add(rs.getString(3));
    hang.add(rs.getInt(4));
    hang.add(rs.getString(5));
    hang.add(rs.getString(6));

下标应该是从0
-5吧,6已经超出界限了

注意下标,应该从0开始,你访问6,可定越界