我正在尝试通过某种方法返回结果集。我确定我的sql查询输入了一些结果集。因为在“ while(rs.next())”方法中,我打印了这些值。但是问题是当我返回该结果集值并尝试在不打印任何值的调用方法中调用“ while(rs.next())”时。是什么原因呢?
/ *调用方法* /
public void corpusRetriveDemo(){
ArrayList<String> wordAll= new ArrayList<String>();
/* Get all word list For corpus Retrive */
wordAll=allWordsList(sentence1);
ResultSet rsNew=corpusSentenceRetrive(wordAll);
try {
while (rsNew.next()) {
System.out.println("Heloooo2...");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/* uni Gram calculate */
double d1=calculateProbUniGram(wordAll,rsNew);
System.out.println(d1);
}
/ *数据库检索方法* /
public ResultSet corpusSentenceRetrive(List wordList) {
PreparedStatement pstmtFGram = null;
Connection conn = null;
ResultSet rs2 = null;
StringBuilder sb = new StringBuilder();
try {
conn = getConnection();
sb.append("SELECT Cor_Sentence FROM corpus Where ");
for(int k=0;k<wordList.size();k++){
sb.append( " Cor_Sentence like '%" + wordList.get(k) + "%' OR ");
}
sb.append(" 1=0");
pstmtFGram = conn.prepareStatement(sb.toString());
rs2 = pstmtFGram.executeQuery();
while (rs2.next()) {
System.out.println("Heloo1...");
}
} catch (Exception e) {
e.printStackTrace();
}
return rs2;
}
“ Heloo1”正确打印。但是不会打印调用方法“ Helooo2”。是什么原因呢?我的退货单有什么问题吗?
正如您的问题,您将字符串追加到字符串生成器。
一件事就是。最后,最后的弦变成了样子。
SELECT Cor_Sentence FROM corpus Where Cor_Sentence like '%" + wordList.get(k) + "%' OR Cor_Sentence like '%" + wordList.get(k) + "%' OR
由于sql查询是它引发异常。
您说Helloo1的另一种方式是打印。因此,请在您的代码行下方进行注释并进行测试。
while (rs2.next()) {
System.out.println("Heloo1...");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句