0

Below is an example of inserting values into one table(MemberRecord)

//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;

        }

How to insert values into 2 tables? When I tried the code below, I got duplicate variables. Even when I change the variables name, it still gives me errors.

//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;

        }
Hanky Panky
  • 46,730
  • 8
  • 72
  • 95
Swaggrammer
  • 47
  • 2
  • 10

2 Answers2

1

Try this:

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 + "')";

I have added a ; at the end of first sql statement.

unlimit
  • 3,672
  • 2
  • 26
  • 34
1

If Datatype for dob and expriry date is date following code could help

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

Modified code is given below

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 + "')";
Digin Dominic
  • 65
  • 1
  • 13