java 非法操作异常_java – 空结果集上的非法操作
我正試圖在雜貨店建立一個(gè)付款臺(tái),我的代碼實(shí)際上執(zhí)行了我打算做的事情,但有一件事.
在我要求用戶(hù)輸入他們想要的項(xiàng)目數(shù)量之后,產(chǎn)品信息被收集并且工作正常,但是當(dāng)它要求用戶(hù)輸入下一個(gè)產(chǎn)品的產(chǎn)品ID時(shí),該行重復(fù),我得到以下內(nèi)容我的捕獲中的異常:“空結(jié)果集上的非法操作”.同樣,所有的計(jì)算和一切都很好,除了重復(fù)那一行.關(guān)于可能出現(xiàn)什么問(wèn)題的任何想法?
重復(fù)的輸出是這樣的:
Enter product (or Exit):
ERROR1: Illegal operation on empty result set.
Enter product (or Exit):
這是代碼.
try {
Class.forName("com.mysql.jdbc.Driver");
String connection = "jdbc:mysql://myDB?";
connection = connection + "user=xxx&password=xxxxxx";
Connection conn = DriverManager.getConnection(connection);
// MATA IN PRODUKTNUMMER
System.out.println("\nEnter product (or Exit):");
GroceryStore.input = GroceryStore.scan.nextLine();
PreparedStatement stmt = conn.prepareStatement(
"SELECT * "+
"FROM Products "+
"WHERE productNo = ?");
stmt.setString(1, GroceryStore.input);
ResultSet rs = stmt.executeQuery();
rs.next();
pName = rs.getString("productName");
System.out.println("Product: " + pName);
// MATA IN ANTAL
System.out.println("\nEnter amount:");
GroceryStore.amount = GroceryStore.scan.nextInt();
pPrice = rs.getDouble("productPrice");
priceRounded = new BigDecimal(pPrice).setScale(2, BigDecimal.ROUND_FLOOR);
amountRounded = new BigDecimal(GroceryStore.amount).setScale(0);
priceRounded = priceRounded.multiply(amountRounded);
GroceryStore.sum = GroceryStore.sum.add(priceRounded);
inOut.output();
inOut.input();
conn.close();
}
catch (Exception e) {
System.out.println("ERROR1: " + e.getMessage());
}
總結(jié)
以上是生活随笔為你收集整理的java 非法操作异常_java – 空结果集上的非法操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10鼠标光标变成黑色方块怎么办?
- 下一篇: java 配置参数_给你的JAVA程序配