2013-06-20 43 views
0

下面是将值插入到一个表(MemberRecord)SQL多个表格

//CreateUser method 

     public boolean createUser(){ 
      boolean success = false; 
      DBController db = new DBController(); 
      db.getConnection(); 
      String sql = "INSERT INTO MemberRecord(id, name, email, contactNo, password, gender, nationality, dateOfBirth, address, postalCode, secQues, secAns, userType)"; 
      sql += "VALUES('" + id + "','" + name + "','" + email + "','" + cNo + "','" + pwd + "','" +gen + "','" + nationality + "','" + dob + "','" + address + "','" + pCode + "','" + secQuestion +"','"+secAnswer +userType + "')"; 


      if (db.updateRequest(sql)==1) success = true; 
      db.terminate(); 
      return success; 

     } 

如何值插入到2个表的一个例子?当我尝试下面的代码时,我得到了重复的变量。即使当我更改变量名称时,它仍然给我错误。

//CreateUser method 
     public boolean createUser(){ 
      boolean success = false; 
      DBController db = new DBController(); 
      db.getConnection(); 
      String sql = "INSERT INTO MemberRecord(id, name, email, contactNo, password, gender, nationality, dateOfBirth, address, postalCode, secQues, secAns, userType)"; 
      sql += "VALUES('" + id + "','" + name + "','" + email + "','" + cNo + "','" + pwd + "','" +gen + "','" + nationality + "','" + dob + "','" + address + "','" + pCode + "','" + secQuestion +"','"+secAnswer +userType + "')"; 

      String sql = "INSERT INTO PaymentDetails(creditCardNo,creditCardType,expiryDate,CVV)"; 
      sql += "VALUES('" + cCardNo + "','" + cCardType + "','" + expiryDate + "','" + cvv + "')"; 

      if (db.updateRequest(sql)==1) success = true; 
      db.terminate(); 
      return success; 

     } 
+0

给予这是C#或Java?你在用什么数据库? – unlimit

+0

Java,我正在使用的数据库是mysql – Swaggrammer

+0

查看[Here](http://stackoverflow.com/questions/11964982/java-mysql-insert-into-multiple-tables-using-preparedstatement)。这可能会帮助你。 – Romesh

回答

1

试试这个:

String sql = "INSERT INTO MemberRecord(id, name, email, contactNo, password, gender, nationality, dateOfBirth, address, postalCode, secQues, secAns, userType)"; 
sql += "VALUES('" + id + "','" + name + "','" + email + "','" + cNo + "','" + pwd + "','" +gen + "','" + nationality + "','" + dob + "','" + address + "','" + pCode + "','" + secQuestion +"','"+secAnswer +userType + "');"; 

sql += "INSERT INTO PaymentDetails(creditCardNo,creditCardType,expiryDate,CVV)"; 
sql += "VALUES('" + cCardNo + "','" + cCardType + "','" + expiryDate + "','" + cvv + "')"; 

我在第一个SQL语句的末尾添加一个;

0

如果数据类型为DOB和expriry日期日期下面的代码可以帮助

TO_DATE('"+ str+"','yyyy/mm/dd') 

修改后的代码如下

String sql = "INSERT INTO MemberRecord(id, name, email, contactNo, password, gender, nationality, dateOfBirth, address, postalCode, secQues, secAns, userType)"; 
sql += "VALUES('" + id + "','" + name + "','" + email + "','" + cNo + "','" + pwd + "','" +gen + "','" + nationality + "',TO_DATE('" + dob + "','yyyy/mm/dd'),'" + address + "','" + pCode + "','" + secQuestion +"','"+secAnswer +userType + "');"; 

sql += "INSERT INTO PaymentDetails(creditCardNo,creditCardType,expiryDate,CVV)"; 
sql += "VALUES('" + cCardNo + "','" + cCardType + "',TO_DATE('" + expiryDate + "','yyyy/mm/dd'),'" + cvv + "')";