Я хочу вставить данные, в которых данные в JAVA GUI отображались как «product_name», когда я вставлял базу данных «product_name», автоматически вставлял бы так называемый ключ id, поэтому я решил попробовать создать вложенный запрос в SQL YOG / MYSQL отлично работает на SQLYOG / MYSQL. Но когда я помещаю запрос в исходный код netbean и пытаюсь нажать кнопку добавления после вставки всего поля, появится сообщение об ошибке «не удается выполнить операторы обработки данных с помощью executeQuery ()». Что я пропустил?
Запрос:
INSERT INTO buy (id_sup,id_product,price,date)
VALUES ((SELECT id_sup FROM supplier WHERE name_sup='Wattshituya'), (SELECT id_product FROM barang WHERE name_product='Bucatti'), 200000,NOW());
Исходный код в Netbean:
private void add_buy() {
try {
Connection kon = koneksi.koneksiDb();
Statement st = kon.createStatement();
String sql = "INSERT INTO buy (id_sup,id_product,price,date) VALUES ((SELECT id_sup FROM supplier WHERE name_sup='"+comboboxSup.getSelectedItem()+"'),(SELECT id_product FROM product WHERE name_product='"+comboboxProd.getSelectedItem()+"'),"
+ "'"+txt_price.getText()+"','"+txt_date.getText()+"')";
ResultSet rs = st.executeQuery(sql);
JOptionPane.showMessageDialog(null, "Saved");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
table_pembelian();
reset_formPem();
}
ОБНОВЛЕНИЕ РЕШЕНО
это требует простого изменения моего исходного кода, с
ResultSet rs = st.executeQuery(sql);
должно быть
ResultSet rs = st.executeUpdate(sql);