どのように私はmysqlデータベースから入力を差し引くのですか? 私は請求書と在庫システムをやっているとしましょう。したがって、ユーザーがjtextfieldに量を入力すると、テーブルからマイナスになります。 はGUIを添付します。jtextfieldからmysqlデータベースへの入力を差し引くにはどうすればよいですか?
は今、私はこの方法に
public boolean updateBill(Bill bi) {
boolean success = false;
dbController db = new dbController();
PreparedStatement ps;
try {
myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ooadp?useSSL=false", "root", "pass");
Statement myStatement = myConn.createStatement();
String sql = "UPDATE medicalproduct SET quantity = quantity - ? WHERE productID = ?, productName = ?, dosage = ?, price = ?, status = ?" ;
myStatement.executeUpdate(sql);
myConn.close();
} catch (Exception e) {
e.printStackTrace();
}
return success;
}
を書かれているが、その後、私は私のactionPerformとどのようにSQLクエリに私のJTextFieldをリンクする上で書くことか分かりません。
これは有効なSQLのWHERE productID =?、productName =?、dose =?、price =?、status =? – Abubakkar
の間ではWHERE句の2つの条件の間にはANDを使用する必要があります。 – Blank
あなたのGUIを見ると、私には明らかなことはいくつかあります。あなたはあなたのメソッド 'updateBill'を呼び出しましたが、なぜそれが医療製品を更新するのでしょうか?確かにあなたはその薬を処方しているすべての患者に影響を与えるので、その薬のことではなくその患者の請求を更新するでしょう。 [PreparedStatement](https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html)に変更してSQLクエリにパラメータを指定することをお勧めします。一度の質問の例が答えられます。 'Bill'クラスの定義を含めることをお勧めします。' bill'テーブルがある場合 –