0

So i have two tabels, Student and Klas_student which are described below.

Student

CREATE TABLE IF NOT EXISTS Studenten(
Studentenummer varchar(7) CHECK (Studentenummer ~'[0-9A-ZA-Z]{7}'),
}

Klas

CREATE TABLE IF NOT EXISTS Klas(
Student varchar(7) REFERENCES studenten (Studentenummer) ON DELETE CASCADE NOT NULL,
Klas text NOT NULL REFERENCES Klas (Naam_id) ON DELETE CASCADE NOT NULL
);

As you can see in Klas_student Student references to Studentnumber in Table Studenten. Now in java i need to take studentenummer from Studenten en put that in Klas_student.

To do that i execute a query and take all studentenummer from Studenten.

sql = "INSERT INTO Studenten " + "VALUES ('1559335')";
statement2.executeUpdate(sql);

Then i want to take value from it and i do :

String studentnummer = result.getString(1).toString();
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (studentnummer)";
statement2.executeUpdate(sqlStudenToKlas);
conn.commit();

However in sqlStudentToKlas, it doesnt take the studentnummer(result.getString(1))string as an argument.

Anybody how i could pass the result.getString(1) as an argument/variable in Values?

Thanks in advance.

1

2 Answers 2

1

Here mistake:

sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (studentenummer)";

you pass string studentenummer, instead of it's value. Try:

sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (" + studentenummer+")";

or

sqlStudenToKlas = "INSERT INTO Klas " + "VALUES ('" + studentenummer+"')";
Sign up to request clarification or add additional context in comments.

3 Comments

I want to pass value of the result ( string stundentnummer). if i apply your code my variable studentnummer is still never used anyway. At least thats what my IDE says. What i want is pass value of string studentnummer to field Student of Klas.
put System.out.println(studentnummer) after this
Thanks for you answer Pavlo. I took Hasan's answer as correct cause i think thats the way for the future and also good for other programmers.
0

C#:

You are Using '@' to passing parameter to your query string in ADO.net

String studentnummer = result.getString(1).toString();
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (@studentenummer)";
Command.Parameters.AddWithValue("@List", studentenummer);
statement2.executeUpdate(sqlStudenToKlas);
conn.commit();

And Use This Tutorial :The C# Station ADO.NET Tutorial

Java with JDBC:

String studentnummer = result.getString(1).toString();
sqlStudenToKlas = "INSERT INTO Klas " + "VALUES (?)";
sqlStudenToKlas.setString(1, studentenummer);
statement2.executeUpdate(sqlStudenToKlas);
conn.commit();

And Use This Tutorial :Named Parameters for PreparedStatement

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.