Hello tout le monde.

Et bien j'ai une problème en utilisant un PreparedStatement.

Je veux en fait inserer une ligne dans ma bd.
Pour le moment je fais ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
String sql ="";
                PreparedStatement requetePreparee = conBD.prepareStatement(sql);
                int nbTypeQuestionnaireAjoutes = requete.executeUpdate(
                        "INSERT INTO type_questionnaire" +
                        "(nom, auteur, date_creation, resume) VALUES " +
                        "('" + leTypeQuestionnaire.getNom() + "', '" + leTypeQuestionnaire.getAuteur() + "', '" + leTypeQuestionnaire.getDate() + "', '"+ leTypeQuestionnaire.getResume() +"');");
Le problème c'est que dans "leTypeQuestionnaire.getResume()" j'ai un string contenant plusieurs '(apostrophe) ce qui génère un problème lors de l'insertion.

En cherchant un peu j'ai vu qu'il était conseillé de travailler avec des PreparedStatement plutot que des Statement.

Mais en modifiant mon code je suis confronté à cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
D:\_Diplome\TD\Programmation\Dmind\src\dmind\GestionnaireBd.java:817: incompatible types
found   : java.sql.PreparedStatement
required: com.mysql.jdbc.PreparedStatement
                PreparedStatement requetePreparee = conBD.prepareStatement(sql);
Note: D:\_Diplome\TD\Programmation\Dmind\src\dmind\GestionnaireBd.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
BUILD FAILED (total time: 0 seconds)
Je vois pas trop d'ou vient l'erreur.
Le reste de mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
    private Connection connexionBD() {
        try {
            // Chargement du driver ODBC
            Class.forName("com.mysql.jdbc.Driver");
            // connexion à la BD
            conBD = DriverManager.getConnection(url, nomUtilisateur, motDePasse);
            return conBD;
        } catch(Exception e) {
            e.printStackTrace();
            System.out.println("erreur connexion");
            return conBD;
        }
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import dmind.gestion_questionnaire.ElementDuTypeQuestionnaire_abstract;
import dmind.gestion_questionnaire.Question;
import dmind.gestion_questionnaire.Titre;
import dmind.gestion_questionnaire.TypeQuestionnaire;
import dmind.gestion_questionnaire.question_fermee.FormatFermee;
import dmind.gestion_questionnaire.question_kern.FormatKern;
import dmind.gestion_questionnaire.question_ouverte.FormatOuverte;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import com.mysql.jdbc.PreparedStatement;