I don't know what is the error in this section of could please help
here is my code
public void addEmploye(Employe employe, Service service) throws SQLException{
int id_service = getServiceId(service);
if(nbrPersonnes(employe.getCin())!=0)
System.out.println("Employe deja existant verifier le cin");
else{
String SQL = "insert into Employe(post) "
+ "values ("
+ "'"+employe.getPost()+"')"
+ "insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_employe,id_service)"
+ "values('"+employe.getCin()+"',"
+ "'"+employe.getNom()+"',"
+ "'"+employe.getPrenom()+"',"
+ "'"+employe.getAdresse()+"',"
+ "'"+employe.getTel()+"',"
+ "'"+employe.getEmail()+"',"
+ "'"+employe.getPassword()+"',"
+ "0,"
+ " SELECT LAST_INSERT_ID() FROM `Personne`,"
+id_service+")";
if(id_service!=0)
try {
stmt = con.createStatement();
rs = stmt.executeUpdate(SQL);
} catch (SQLException e) {
System.out.println("addEmploye "+e.toString());
}
}
}
and here is the error
addEmploye com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_e' at line 1
addEmploye com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_e' at line 1
addEmploye com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_e' at line 1
addEmploye com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_e' at line 1
addEmploye com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_e' at line 1
addEmploye com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'insert into Personne(cin,nom,prenom,adresse,tel,email,password,id_directeur,id_e' at line 1
my teamparnter wrote this code for MSSQL but I want now use it under Mysql SGBD I find this problem any suggestion please
A SQL statement can only contain ONE statement, your code is trying to execute insert into Employe(post) values (...)insert into Personne(...
.
This must be divided in two SQL commands, executed separately: insert into Employe(post) values (...)
and insert into Personne(...
. You can use the same Statement
instance, but executeUpdate
must be called two times.
And it is indicated to use a PreparedStatement as suggested by Jamal H.
You must have an error somewhere in that long SQL statement, or one of the parameters you are passing contains something messing up the statement.
You should never use that kind of method for SQL inserts. Use prepared statements: Prepared Statements
Prepared statements makes the code way cleaner, and prevents things like SQL injections. Implement that and you should be able to fix your insert statement
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With