求助:jdbc中的问题
package yinhang;
import yinhang.ZhangHu;
import com.sina.wangjiajuan.Tool;
import java.sql.*;
public class DBZhuanZhang implements DBZhuanZhangJieKou{
	@Override
	public void DBtransfer(ZhangHu o,ZhangHu b,int money) {
		// TODO Auto-generated method stub
		Connection  conn=Tool.getConnection();
		Statement st=null;
		ResultSet rs=null;
		try {
			int IDo=o.getID();
			int IDb=b.getID();
			String sql="select YuEr from zhanghu where ID="+IDo;
			String sql1="select YuEr from zhanghu where ID="+IDb;
			st=conn.createStatement();
			rs=st.executeQuery(sql);
			int YuEro=0;
			while(rs.next()){
			 YuEro=rs.getInt(1); ??????
			}
			rs=st.executeQuery(sql1);
			int YuErb=0;
			while(rs.next()){
			 YuErb=rs.getInt(1);
			}
			if(YuEro <money){
				System.out.print("yu er  buzu");
			}else {
				YuEro-=money;
				YuErb+=money;
				String sql2="update zhanghu set YuEr="+YuEro+"where ID="+IDo;
				String sql3="update zhanghu set YuEr="+YuErb+"where ID="+IDb;
				st.executeUpdate(sql2);
				st.executeUpdate(sql3);				
			}							
		} catch (
SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
问题在???处,为何getInt(1),而我的表结构是YuEr是第二个字段,不应该是getInt(2),但是;用了之后,报“无效的列索引”,why????????
------解决方案--------------------数据库索引是从0开始的,getInt(1)就是第二个字段了
------解决方案--------------------楼上的不对,这不是看表结构的,而是看查询语句的字段的位置(从 1 开始计),你的查询语句是:
select YuEr from zhanghu where ID="+IDb;  
字段列表为:YuEr,也就是第 1 个,如果前面还有一个的话,那它就是第 2 个了。
------解决方案--------------------可以使用rs.getInt("YuEr"),比较直观
------解决方案--------------------晕