Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 集合值在传递的查询中没有得到迭代?_Java_Sql - Fatal编程技术网

Java 集合值在传递的查询中没有得到迭代?

Java 集合值在传递的查询中没有得到迭代?,java,sql,Java,Sql,下面是我的代码 while(obt.hasNext()){ try{ Object itrvalue = obt.next(); String sql2 ="select entryDt,Student_Name,Class_Div_Name,ReceiptNo from test where ReceiptNo = '"+itrvalue+"'"; System.out.println("Re

下面是我的代码

while(obt.hasNext()){

        try{
            Object itrvalue = obt.next();
            String sql2 ="select entryDt,Student_Name,Class_Div_Name,ReceiptNo from       test where ReceiptNo = '"+itrvalue+"'";
            System.out.println("Receipt No --"+itrvalue);
            stat =  con.prepareStatement(sql2);
            rs=stat.executeQuery();
            rs.next();
            Date datevalue = rs.getDate(1);
            String name = rs.getString(2);
            String CDN = rs.getString(3);
            String RNO = rs.getString(4);
            System.out.println("Date is ---"+datevalue);
            System.out.println("Student Name ---"+name);
            System.out.println("Coloumn Div No ---"+CDN);
            System.out.println("Receipt No ---"+RNO);
            rs.close();
            }
            catch(Exception ex){};
        }
输出:-

Receipt No  --S00000001234
Date is ---2013-06-10 
Student Name ---ABC XYZ 
Coloumn Div No ---VI - C 
Receipt No ---S00000001234
Receipt No --S00000001234 
Receipt No --S00000001235
Receipt No --S00000001236
Receipt No --S00000001237 
Receipt No --S00000001238
Receipt No --S00000001239

每个迭代值都在改变。但在当前的SQL查询中,它只传递第一个值,其余的迭代值将显示,但在SQL查询中不会传递。根据输出,您可以看到我只收到了数据
S00000001234
,我需要所有收据编号的相同详细信息。

您可能引发了一个异常。请尝试以下代码:

String sql2 = "select entryDt,Student_Name,Class_Div_Name,ReceiptNo from test where ReceiptNo = ?";
PreparedStatement stat = con.prepareStatement(sql2);

try {
    while (obt.hasNext()) {
        try {
            Object itrvalue = obt.next();
            System.out.println("Receipt No --" + itrvalue);
            stat.setObject(1, itrvalue);
            rs = stat.executeQuery();
            rs.next();
            Date datevalue = rs.getDate(1);
            String name = rs.getString(2);
            String CDN = rs.getString(3);
            String RNO = rs.getString(4);
            System.out.println("Date is ---" + datevalue);
            System.out.println("Student Name ---" + name);
            System.out.println("Coloumn Div No ---" + CDN);
            System.out.println("Receipt No ---" + RNO);
            rs.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
} finally {
    if (stat != null) {
        stat.close();
    }
}       

obt是另一个结果集?