String sql2="if not exists(select * FROM stock where productCode=?)\n" +
"Begin\n" +
"insert into stock "
+ "(productName,quantity,currentQuantity,price,companyName,categoryName,productCode) "
+ "values(?,?,?,?,?,?,?)\n" +
"End";
PreparedStatement pst2 = con.prepareStatement(sql2);
pst2.setString(1,productCodeTextField.getText());
pst2.setString(2,productNameTextField.getText());
pst2.setString(3,quantityTextField.getText());
pst2.setString(4,quantityTextField.getText());
pst2.setString(5,priceTextField.getText());
pst2.setString(6, (String) companyNameJComboBox.getSelectedItem());
pst2.setString(7, (String) categoryNameJComboBox.getSelectedItem());
pst2.setString(8,productCodeTextField.getText());
int x=pst2.executeUpdate();
if(x!=0){
productCodeTextField.setText("");
productNameTextField.setText("");
quantityTextField.setText("");
priceTextField.setText("");
JOptionPane.showMessageDialog(null,"Product entered");
}else{
JOptionPane.showMessageDialog(null,"Product already exists");
}
삽입하기 전에 기존 제품을 성공적으로 확인할 수 있지만 실행 된 쿼리를 기반으로 올바른 메시지를 채울 수 없습니다. . executeUpdate는 삽입이 완료되지 않은 경우에도 항상 일부 값을 반환합니다. 이 문제를 해결하는 방법.행이 이미 존재하는지 확인하십시오. 그렇지 않으면 행을 삽입하십시오. 메시지를 표시하십시오.
mysql과 sql-server는 두 개의 서로 다른 rdbms입니다. 올바른 태그를 지정하십시오. – Ravi