try{
ArrayList al0;
rs=DBConnection.queryOldTable(strsql);
ResultSetMetaData rsmd=rs.getMetaData();
int cc=rsmd.getColumnCount();
System.out.println(cc);
while (rs.next()){
byte j=1;
System.out.println(rs.getString(j));
j=2;
System.out.println(rs.getString(j));
j=3;
System.out.println(rs.getString(j));
j=4;
System.out.println(rs.getString(j));
al0=new ArrayList();
for (byte i=1;i<=11;i++){ //把每一行放入ArrayList,然后再放入al
System.out.print(i+"=");
System.out.println(rs.getString(i)); 这里报“无效的描述符索引”异常
al0.add(rs.getString(i)==null?"-":rs.getString(i)); 没有上面那句代码,就在这里报“无效的描述符索引”异常 }
al.add(al0);
}
}catch(){....}上面这段代码,今天足足把我郁闷了一整天,还解决不了。用“直连”方式链接数据库,没有问题。
但公司的服务器里面的数据库,死活用不了“直连”方式,只好用“桥连”了。
但没想到上面这段代码,居然又用“桥连”就报“无效的描述符索引”这个异常。
但奇怪的是,这是在循环里面产生异常,而在循环外面(大家可以看到我加的那些测试代码),居然又没有一点问题。
真的就要被气S。
麻烦大家提点一下。
解决方案 »
- 我这边有一个jsp开发的网站要改成手机web
- 有关INPUT框的问题
- 问一条sql语句,谢谢~
- 如何根据记录集ResultSet的值让相应的<html:radio>选中
- 按照大家接供的数据库连接程序就是连不上MSSQL数据库
- Lock wait timeout exceeded; try restarting transaction 是什么原因造成的
- 如何修改tomcat 4.1.18的配置,使修改过的Servlet能够及时重新加载!
- 求命呀.高手门.我写了一个程序,但找不出什么错.请帮我调试一下吧
- 关于jrun studio 配置中development mapping 意义?该怎么添?
- 我是JSP的初学者。谢谢你们的指点。请问。。。。
- 关于jsp+tomcat访问oracle10.2的问题
- WEB开发问题实录,请高手参与。
byte j=1;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
j++;
System.out.println(j+"="+rs.getString(j));
for (int k=2;k<6;k++)
System.out.println(rs.getString(k));改成这样了,居然还是在最后那一行报那个“无效的描述符索引”异常。
其实前面的12*2行代码,跟循环又有什么区别呢?
唉,我快疯掉了。
起源全因为我原来的代码里面有这样一句:
al0.add(rs.getString(i)==null?"-":rs.getString(i));这句代码在直连时没有问题,但在桥连的时候就出问题了,因为前面的rs.getString(i)已经用了那个序号了,后面就不能再用了。
后来我又加上了一些测试语句,反而更加重了问题的产生。
因为rs.getString(j)原来已经去到11了,但rs.getString(i)又从头开始,所以就报错了。
但直连却无所谓。
唉,一天,一天就这样过了。