Я пытаюсь обновить базу данных SQL с помощью JBDC. Но по какой-то причине запрос, похоже, не выполняется. Я использую графический интерфейс Jframe для моего экрана входа и меню.
То, что я пытаюсь сделать, это получить номер счета, введенный на экране входа в систему, и взять сумму, введенную пользователем и за вычетом суммы текущим балансом, а затем передать номер счета и сумму переименования в базу данных и обновить баланс счета.
Это часть объявления некоторых значений:
public class MainMenu extends javax.swing.JFrame
{
private Login log = new Login();
private Account acc = null;
private String accnum = log.getacctfld();
Connection con = new DBConnection().connect();
}
Это код кнопки вывода:
private void withdrawActionPerformed(java.awt.event.ActionEvent evt)
{
String input = amountentered.getText();
if ("".equals(input))
{
message.setText("Enter amount to perform operation");
return;
}
Double amt = Double.parseDouble(input);
if (amt > acc.getAmount() || amt <= 0.0)
{
message.setText("INVALID AMOUNT. PLEASE TRY AGAIN.");
return;
}
double bal = acc.getAmount() - amt;
String command = "UPDATE user_atm SET balance =? WHERE accno =?";
try
{
PreparedStatement ps = con.prepareStatement(command);
ps.setDouble(1, bal);
ps.setString(2, accnum);
ps.executeQuery(); // I think the query isn't executing
ps.executeUpdate();
}
catch(Exception e)
{
}
acc.setAmount(bal);
balance.setText(bal + "");
amountentered.setText("");
}
UPDATE:
accnum
не инициализировался. Я пытался передать значение из JTextField с моего экрана входа в систему. Но это не сработало. Поэтому я передал номер счета установщику, а затем присвоил получателю accnum
, и теперь он работает.
Я тоже удалил ps.executeQuery();