3

学校では、MySQL データベースに接続し、ATM マシンのようにクエリを実行するプログラムに取り組んでいます。

これまでのところ、接続コードを送信ボタンに入れる単純なプログラムを作成しましたが、残高照会、引き出しなどのためにさまざまなボタンをサポートする必要があります。

ユーザーがログインと PIN を入力する最初の画面には、次のコードがありますが、このボタンにある変数を使用して他のボタンの下でこれらのクエリを実行する方法については、ちょっと迷っています。

private void bSubmitActionPerformed(java.awt.event.ActionEvent evt) {                                        
    String login = jLogin.getText();
    String pin = jPin.getText();


    try {
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bankaccount", "root", "password");

        Statement st = (Statement) con.createStatement();
        PreparedStatement ps;
        String sqlCommand;
        ResultSet rs;

        sqlCommand = "SELECT * FROM accounts WHERE loginID= '" + login + "' AND pin='" + pin + "'";

        rs = st.executeQuery(sqlCommand);

        if (rs.next()) {

            do {

                card2.setVisible(true);
                card1.setVisible(false);



            } while (rs.next());
        } else {
            jWarning.setText("please try again");
        }





    } catch (Exception e) {
    }
}
4

1 に答える 1

1
    public ResultSet execute(String sqlCommand ){

    ResultSet rs = null;

    try {
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bankaccount", "root", "password");

        Statement st = (Statement) con.createStatement();
        PreparedStatement ps;


        rs = st.executeQuery(sqlCommand);


    } catch (Exception e) {
    }

    return rs;

}


public void submitButton1(){
     String login = jLogin.getText();
    String pin = jPin.getText();

ResultSet rs = execute("SELECT * FROM accounts WHERE loginID= '" + login + "' AND pin='" + pin + "'");

   /// do whatever with your rs

}

public void submitButton2(){
     String login = jLogin.getText();
    String pin = jPin.getText();

ResultSet rs = execute("more sql");

   /// do whatever with your rs

}

update メソッドを追加します。

public int update(String sqlCommand ){

       int affected_rows = 0;
        try {
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bankaccount", "root", "password");

            Statement st = (Statement) con.createStatement();                

            affected_rows = st.executeUpdate(sqlCommand);


        } catch (Exception e) {
        }

        return affected_rows;

    }

update メソッドは、挿入と削除にも使用できます。更新ステートメントは次のようになります。

update accounts  
set columnA = "a value",  
columnB = "other value"  
where loginID = 4;
于 2012-05-30T00:28:46.667 に答える