有关在一个java程序中同时执行多个sql指令的问题,高手来看下!
这是一个读取2个sql文件获取部分值,然后合并输出到第三个sql的算法,代码如下Connectionconnection=resourceHolder.getConnec...
这是一个读取2个sql文件获取部分值,然后合并输出到第三个sql的算法,代码如下
Connection connection =resourceHolder.getConnection();
statement=connection.createStatement();
resultSet=statement.executeQuery("select ID,CD,DATE"+"FROM EN_CHECK");
while(resultSet.next()){
JhDto checkDto = makeJhDto(resultSet)
long IdNow=checkDto.getId();
Connection connection1 =resourceHolder.getConnection();
statement1=connection1.createStatement();
resultSet1=statement1.executeQuery("select ID,KB,AGE"+"FROM EN");
while(resultSet1.next()){
JhDto payDto =makePayDto(resultSet1);
if(Idnow=payDto.getId_1()){ageNow=payDto.getAge();
}checkDto.setAge(ageNow);
printerObject.printJhDto(checkDto);
}
本意是做一个while内再加while的循环,外面的while循环负责读取每个人的各项数值,但读取的表中缺少每个人的年龄,通过读取第二个表找到每个人的年龄,然后set给前面后一并打印。
执行后,由于宣告int ageNow时设定的初始值为0,打印出来所有人的年龄栏都是0。。
猜想是由于这段代码相当于一段java中同时连接2个sql,因此造成了后一条没有被执行,请问这种情况下该如何修改?
小白刚学java不是很会,请高手指教! 展开
Connection connection =resourceHolder.getConnection();
statement=connection.createStatement();
resultSet=statement.executeQuery("select ID,CD,DATE"+"FROM EN_CHECK");
while(resultSet.next()){
JhDto checkDto = makeJhDto(resultSet)
long IdNow=checkDto.getId();
Connection connection1 =resourceHolder.getConnection();
statement1=connection1.createStatement();
resultSet1=statement1.executeQuery("select ID,KB,AGE"+"FROM EN");
while(resultSet1.next()){
JhDto payDto =makePayDto(resultSet1);
if(Idnow=payDto.getId_1()){ageNow=payDto.getAge();
}checkDto.setAge(ageNow);
printerObject.printJhDto(checkDto);
}
本意是做一个while内再加while的循环,外面的while循环负责读取每个人的各项数值,但读取的表中缺少每个人的年龄,通过读取第二个表找到每个人的年龄,然后set给前面后一并打印。
执行后,由于宣告int ageNow时设定的初始值为0,打印出来所有人的年龄栏都是0。。
猜想是由于这段代码相当于一段java中同时连接2个sql,因此造成了后一条没有被执行,请问这种情况下该如何修改?
小白刚学java不是很会,请高手指教! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询