Tôi đang sử dụng phương pháp sau đây để tính toán biên chế bằng cách sử dụng jdbc nhưng "ORA-01008: không phải tất cả các biến bị ràng buộc" lỗi là không loại bỏ."ORA-01008: không phải tất cả các biến bị ràng buộc" lỗi
Bạn có ý tưởng nào không?
Tôi đang sử dụng đoạn mã sau
public double getPayroll(){
ResultSet rs = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = getDBConnection();
double dailyPay=0,basicPay=0,payroll2=0;
int houseRent=0,convAllow=0,noOfPresents=0,empId=0;
String q = "select e_id from employee";
pstmt = conn.prepareStatement(q);
rs = pstmt.executeQuery();
while (rs.next()) {
empId=rs.getInt(1);
String q1 = "select count(att_status) from attendance where att_status='p'";
pstmt = conn.prepareStatement(q1);
rs1 = pstmt.executeQuery(q1);
while(rs1.next()){
noOfPresents=rs1.getInt(1);
String q2 = "select e_salary,e_house_rent,e_conv_allow from employee where e_id=?";
pstmt = conn.prepareStatement(q2);
pstmt.setInt(1,empId);
rs2 = pstmt.executeQuery(q2);
while(rs2.next()){
dailyPay=rs2.getInt(1)/22;
houseRent=rs2.getInt(2);
convAllow=rs2.getInt(3);
basicPay=dailyPay*noOfPresents;
payroll2+=basicPay+houseRent+convAllow;
}
}
}
return payroll2;
}catch (Exception e) {
e.printStackTrace();
return 0.0;
} finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Tại thời điểm nào bạn nhận được ngoại lệ này? – RMT
Có tham gia bằng cách nào đó liên kết với nhân viên không?Nếu không, 'select count (att_status)' cho mỗi e_id không có ý nghĩa (vì nó sẽ không bao giờ thay đổi) –