问题描述
我正在尝试从结果集中获取数据到我的 Java 应用程序中,以便我可以将其显示给用户。我想要实现的是一个部分搜索功能,它根据输入字符串显示多行数据。如果该字符串出现在数据库中的任何序列号中,它会提取整行并将其添加到一个字符串中。
res 是结果集
public String searchToString() {
String temp = "";
try {
while(res.next()) {
temp = res.getString("ProductCode") + " " + res.getString("SerialNum") + " "
+ res.getString("DateSold") + " " + res.getString("SoldTo") + " " + res.getString("Notes") + "\n";
}
} catch (sqlException se) {
System.out.println(se);
}
return temp;
}
我尝试更改我使用的查询并发现 LIKE 查询是最好的查询。但是,如果我尝试将字符串输出到文本区域,我只会看到一个应该有更多输出的输出。我肯定在我的代码中遗漏了一些东西来告诉它继续将其余的行添加到字符串中,但我没有在互联网上遇到任何可以告诉我它是什么的东西。
解决方法
您正在覆盖临时数据
//尝试 +=
temp += res.getString("ProductCode") + " " + res.getString("SerialNum") + " "
+ res.getString("DateSold") + " " + res.getString("SoldTo") + " " + res.getString("Notes") + "\n";
}
//或 temp = temp +
temp = temp + res.getString("ProductCode") + " " + res.getString("SerialNum") + " "
+ res.getString("DateSold") + " " + res.getString("SoldTo") + " " + res.getString("Notes") + "\n";
}