Sql启动事务

时间:2013-07-04 16:20:27

标签: mysql sql

 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是完美的,但我需要有人可以告诉我如何使用启动事务,因为我一直在搞乱“”。谢谢你提前

1 个答案:

答案 0 :(得分:0)

首先,您应该了解prepared statements。你的代码是纯SQL注入垃圾。把它扔掉。使用此类代码处理信用卡号码是被解雇的最佳方式。

其次,您必须为数据库连接禁用自动提交。这是启用并阻止事务,因为在每个语句之后,驱动程序完成提交。之后,您可以执行显式提交。