私は選択クエリを実行するためにjavaで2つのメソッドを持っています。 query1
が値を返さない場合はfunction2
が実行されます。しかし、私の問題はquery 2
であり、私は空の結果セットを取得しています。 DBツールで同じクエリ(query 2
)を実行すると、いくつかの行が表示されますが、コードではnullが返されます。javaで複数の選択クエリ - 何も返さない(query2から)
public class FetchData2 {
private static Connection connection = null;
public static Connection getConnection() {
System.out.println("initial connection "+connection);
if (connection != null)
return connection;
else {
// DB Connection
try
{ System.out.println("i am inside connection");
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection("connection");
System.out.println("Connection estabilished"+connection);
}catch (Exception e){
System.out.println("Connection error1: "+e);
}
return connection;
}
}
public static ArrayList<Elements2> getAllElements2(String sino,String irepno) {
connection = FetchData2.getConnection();
ArrayList<Elements2> itemListinsp = new ArrayList<Elements2>();
try {
Statement statement1=connection.createStatement();
ResultSet rs = statement1.executeQuery("query1");
while(rs.next()) {
Elements2 iteminsp=new Elements2();
iteminsp.setParameters(rs.getString("parameters"));
iteminsp.setSpecifications(rs.getString("specifications"));
iteminsp.setActual1(rs.getString("actual1"));
iteminsp.setActual2(rs.getString("actual2"));
iteminsp.setActual3(rs.getString("actual3"));
iteminsp.setActual4(rs.getString("actual4"));
iteminsp.setActual5(rs.getString("actual5"));
itemListinsp.add(iteminsp);
}
con.close(); // added these lines
rs.close();
ps.close();
} catch (Exception e) {
System.out.println("Connection query exection error: "+e);
}
return itemListinsp;
}
public static ArrayList<Elements2> getcritElements2(String icode) {
connection = FetchData2.getConnection();
System.out.println("I AM IN SECOND FETCH");
ArrayList<Elements2> listcrit = new ArrayList<Elements2>();
System.out.println("incoming icode: "+icode);
try {
Statement statementinsp=connection.createStatement();
ResultSet rsinsp = statementinsp.executeQuery("query2");
if (!rsinsp.next()) {
System.out.println("no data");
}
while(rsinsp.next()) {
Elements2 inspcrit=new Elements2();
inspcrit.setParameters(rsinsp.getString("parameters"));
inspcrit.setSpecifications(rsinsp.getString("specifications"));
listcrit.add(inspcrit);
}
} catch (Exception e) {
System.out.println("Connection query exection error: "+e);
}
System.out.println(listcrit.size());
System.out.println(listcrit.get(0).getParameters());
System.out.println(listcrit.get(0).getSpecifications());
return listcrit;
}
}
ようこそ!私は、このコードの95%があなたの質問に関連していないと思います。あなたの問題を示す[**最小**、完全で実証可能な例](http://stackoverflow.com/help/mcve)を作成してください。 –