2013-06-20 70 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 + "')";