データベースで2つの値を検索し、それらが存在する場合は値を返す関数をJavaで構築しました。
public List<Conniction> findPath(int one,int two){
List<Conniction> list = new ArrayList<Conniction>();
Connection c = null;
String sql = "SELECT * FROM conniction WHERE oneid="+one+"&& twoid="+two;
try {
c = ConnectionHelper.getConnection();
Statement s = c.createStatement();
ResultSet rs = s.executeQuery(sql);
ResultSetMetaData metaData = rs.getMetaData();
int columncount = metaData.getColumnCount();
//direct result
if (columncount > 0) {
System.out.println("Match one and two found!");
while (rs.next()) {
list.add(processRow(rs));
}
}
else{
String sql2 = "SELECT * FROM conniction WHERE oneid="+one;
s = c.createStatement();
rs = s.executeQuery(sql2);
metaData = rs.getMetaData();
columncount = metaData.getColumnCount();
if (columncount > 0) {
System.out.println("One Match found!");
while (rs.next()) {
list.add(processRow(rs));
}
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
oneid
返されたパラメーターの値が何であるかを確認して、との本当に正しい答えかどうかを確認するにはどうすればよいですかtwoid
。それはいつも私が送ったものとは違うものを返します。