当前位置: 技术问答>java相关
问一个查询数据库的问题
来源: 互联网 发布时间:2015-08-22
本文导语: 查询返回一个ResultSet 类型的rs, 然后我用了两个语句来取得两个字段的值 String attr=rs.getString(fieldname1); String name=rs.getString(fieldname2); 但不知为什么当两句同时写时就会再第二个赋值的时候抛出Exception ,我单步调试时...
查询返回一个ResultSet 类型的rs,
然后我用了两个语句来取得两个字段的值
String attr=rs.getString(fieldname1);
String name=rs.getString(fieldname2);
但不知为什么当两句同时写时就会再第二个赋值的时候抛出Exception ,我单步调试时发现第一个赋值是正确的。并且任意屏蔽一个语句都运行正常,现在就是不知道为什么两个一起就会有一个出错,我怎么想也不想不出哪里出错了,并且屏蔽其中一句后,另一句都正确,请各位高手指教
然后我用了两个语句来取得两个字段的值
String attr=rs.getString(fieldname1);
String name=rs.getString(fieldname2);
但不知为什么当两句同时写时就会再第二个赋值的时候抛出Exception ,我单步调试时发现第一个赋值是正确的。并且任意屏蔽一个语句都运行正常,现在就是不知道为什么两个一起就会有一个出错,我怎么想也不想不出哪里出错了,并且屏蔽其中一句后,另一句都正确,请各位高手指教
|
楼上说得对,记录集是不允许重复读的,而且只能按left-to-right的次序来读取数据。你看看数据库中的fieldname1是不是在fieldname2之前。如果不是,那就先读取fieldname2,再读fieldname1:
String name=rs.getString(fieldname2);
String name=rs.getString(fieldname1);
String name=rs.getString(fieldname2);
String name=rs.getString(fieldname1);
|
For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.
The ResultSet interface provides getXXX methods for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once
The ResultSet interface provides getXXX methods for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once
|
rs记录集是不允许重复读的,我怀疑,你的fieldname1和fieldname2的变量内容是相同的,所以,才会有你上面说的情况,你查一下吧,一定是这样的。
|
这种问题我倒没遇到过。你能否将程序全部写出来。