Подзапрос:
select price from priceTable where proCode=pCode
должен быть заключен в скобки и убедитесь, что возвращает только 1 строку .И что такое параметр pCode
?Я думаю, что вы должны заменить его на ?
и передать позже его значение setString()
.Также 1-й аргумент метода setString()
основан на 1.Так что измени на это:
query = "insert into invoiceOrders (productCode,quantity,amount) values (?,?,(select price from priceTable where proCode=?))";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setString(1,"productCode");
stmt.setString(2,"qty");
stmt.setString(3,pCode); // or stmt.setInt(3,pCode);
n = stmt.executeUpdate();