java.sql.SQLException:列索引超出范围,8>;6.
当我尝试检索整个记录并从数据库中显示它时。这是一个错误java.sql.SQLException:列索引超出范围,8>;6.,java,mysql,sql,Java,Mysql,Sql,当我尝试检索整个记录并从数据库中显示它时。这是一个错误 java.sql.SQLException: Column Index out of range, 8 > 6. 我想不出这一点。请帮忙 JAVA代码 public ArrayList viewAllDrivers() { ArrayList allDrivers=new ArrayList(); try { String sql= "select * from adddr
java.sql.SQLException: Column Index out of range, 8 > 6.
我想不出这一点。请帮忙
JAVA代码
public ArrayList viewAllDrivers() {
ArrayList allDrivers=new ArrayList();
try {
String sql= "select * from adddriver ORDER BY dname";
rs =DBConnection.executeQuery(sql);
while(rs.next()) {
ArrayList one = new ArrayList();
one.add(rs.getInt(1));
one.add(rs.getString(2));
one.add(rs.getString(6));
one.add(rs.getString(8));
one.add(rs.getString(9));
one.add(rs.getString(10));
one.add(rs.getInt(11));
allDrivers.add(one);
}
}
catch (Exception ex) {
System.out.println (ex);
}
return allDrivers;
}
我试图显示结果的页面
<%
SearchDAO searchDAO = new SearchDAO();
ArrayList all = searchDAO.viewAllDrivers();
int size = all.size();
%>
<table width="95%" align="center" style="border:#D22929 solid 2px;padding:10px;" border="0">
<tr>
<th bgcolor="#D22929" scope="col"><span class="style10">Driver Name </span></th>
<th bgcolor="#D22929" scope="col"><span class="style10">Address</span></th>
<th bgcolor="#D22929" scope="col"><span class="style10">City</span></th>
<th bgcolor="#D22929" scope="col"><span class="style10">Contact</span></th>
<th bgcolor="#D22929" scope="col"><span class="style10">Country </span></th>
<th bgcolor="#D22929" scope="col"><span class="style10">Ation</span></th>
</tr>
<%
for(int i=0;i<size;i++){
ArrayList one=(ArrayList)all.get(i);
%>
<tr style="height:30px; padding:4px;">
<td><div align="center"><%=(String)one.get(1)%></div></td>
<td><div align="center"><%=(String)one.get(2)%></div></td>
<td><div align="center"><%=(String)one.get(3)%></div></td>
<td><div align="center"><%=(String)one.get(4)%> </div></td>
<td><div align="center"><%=(String)one.get(5)%> </div></td>
</tr>
<% } %>
驱动程序名称
地址
城市
接触
国家
电离
此错误表示您的adddriver
只有6列,因此8是无效的列索引
这意味着所有这些语句都有无效的索引:
one.add(rs.getString(8));
one.add(rs.getString(9));
one.add(rs.getString(10));
one.add(rs.getInt(11));
也许您的DB表没有包含您认为它所包含的内容。最好明确地命名您正在检索的列,这样您就不会面临这样的问题
公共阵列列表viewAllDrivers(){
ArrayList allDrivers=新的ArrayList()
您将超出列计数,因为您遇到此异常这是非常自我解释的。您正在访问超过表大小的列索引。请仔细检查表。检查数据库中表中的列数。此外,请使用servlet。jsp文件中不应包含任何Java代码。ADDDRIVER
表只有6列,但您希望得到第8列。您的表ADDDRIVER
有多少列?
try {
String sql= "select city,address,... from adddriver ORDER BY dname";
rs =DBConnection.executeQuery(sql);
while(rs.next()) {
ArrayList one = new ArrayList();
one.add(rs.getInt(1));
one.add(rs.getString(2));
one.add(rs.getString(6));
one.add(rs.getString(8));
one.add(rs.getString(9));
one.add(rs.getString(10));
one.add(rs.getInt(11));
allDrivers.add(one);
}
}
catch (Exception ex) {
System.out.println (ex);
}
return allDrivers;
}