Swaggrammer
Swaggrammer

Reputation: 45

SQL MULTIPLE TABLE

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;

        }

Upvotes: 0

Views: 146

Answers (2)

Digin Dominic
Digin Dominic

Reputation: 65

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

Upvotes: 1

unlimit
unlimit

Reputation: 3752

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.

Upvotes: 1

Related Questions