0
 String sql= "INSERT INTO UserRecord( name, email, contactNo, password, gender, nationality, " +
                "dateOfBirth, address, postalCode, secretQuestion, secretAnswer, userType, obsoleteStatus)";

                sql += "VALUES('" +  name + "','" + email + "','" + cNo + "','" + pwd + "','" +gen + "','" + nationality + "','" 
                        + dob + "','" + address + "','" + pCode + "','" + secQuestion +"','"+secAnswer + "','"+ userType +"','" + obsoleteStatus + "')";

         String sql2= "INSERT INTO PaymentAccount(creditCardNo,creditCardType,expiryDate,CVV)";

                sql2 += "VALUES('" + cCardNo + "','" + cCardType + "','" + expiryDate + "','" + cvv + "')";

こんにちは、私は Start Transaction の使用についてインターネットでいくつかの調査を行い、それを実装しようとしましたが、常にエラーが発生したようです。私が提供するSQLは完璧ですが、「」を台無しにし続けるため、開始トランザクションの使用方法を教えてくれる人が必要です。よろしくお願いします

4

1 に答える 1

0

まず、準備済みステートメントについて学習する必要があります。あなたのコードは純粋な SQL インジェクションのジャンクです。それを捨てる。このようなコードでクレジット カード番号を処理することは、クビになるための最良の方法です。

次に、データベース接続の自動コミットを無効にする必要があります。各ステートメントの後にドライバーによってコミットが行われるため、これが有効になり、トランザクションが防止されます。その後、明示的なコミットを実行できます。

于 2013-07-04T16:32:16.430 に答える