JDBC et SQL

midow34 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 Flog78 -
Bonjour,
je viens vous voir ce soir parce que j'ai un problème de requête, je vous explique :

Enfait, j'ai deux tables de ma base de données : Categorie et regles .

Pour catégorie:

J'ai donc créer cette table catégorie qui contient 5 champs : ( cat_id, nom, aff, typeAff,letEx, letAd) avec cat_id comme clé primaire en auto-incrément.

depuis mon programme sur eclipse, j'arrive à me connecter à la base et à remplir cette base avec déclarations sans soucis, voici le code :
 public static int InsertCategorieToDB( String nom_db, String affixe_db, String typeAffixe_db, char lettreException_db, char lettreAdditionnelle_db){
        String url = "jdbc:mysql://localhost/db_deriv";
        String login = "root";
        String passwd = "";
        Connection cn =null;
        Statement st =null;
        try {
 
            //  Chargement du driver
            Class.forName("com.mysql.jdbc.Driver");
 
            // r?cup?ration de la connexion
            cn = DriverManager.getConnection(url, login, passwd);
 
            // Création d'un statement
            st = cn.createStatement();
 
 
 
String ins_categorie_db =(
        "INSERT INTO CategorieMorphologique (nom , affixe , typeAffixe ,lettreException, lettreAdditionnelle)"
        + " VALUES"
        + "('"+ nom_db + "','" + affixe_db +
         "','" + typeAffixe_db + "','"
        + lettreException_db + "','"
        + lettreAdditionnelle_db + "')");
 
st.executeUpdate(ins_categorie_db);
             
 
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
             
            e.printStackTrace();
        } finally {
            try {
            //  libérer ressources de la mémoire.
                cn.close();
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return 0;
         
    }


Pour Regle : (là est le problème)

Donc là, j'ai créé ma table aussi, avec trois champs :(regle_id, catBase_id, catFinale_id) avec regle_id en clé primaire autoincrément, et je veux la remplir les deux champs en même temps, catbase_id et catFinale_id , avec des id que je veux récupérer du champ catégorie_id de la premiere table categorie ci dessus.

Et je n'y arrive pas, je ne suis pas très très fort en sql ni en java non plus, j'ai besoin de votre amabilité et de votre aide svp .

voici ce que j'ai fais pour regles (qui ne marche pas) :
public static void InsertRegleToDB(int catBase_db,int catFinale_db){
    String url = "jdbc:mysql://localhost/db_deriv";
    String login = "root";
    String passwd = "";
    Connection cn =null;
    Statement st =null;
    try {
 
        //  Chargement du driver
        Class.forName("com.mysql.jdbc.Driver");
 
        // récupération de la connexion
        cn = DriverManager.getConnection(url, login, passwd);
 
        // Création d'un statement
        st = cn.createStatement();
 
 
 
        String ins_regle_db =(
    "INSERT INTO Regle (catBase_id,catFinale_id) VALUES("+ catBase_db + "','"
            + catFinale_db + "')");
 
 
        //exécution requéte
         
        st.executeUpdate(ins_regle_db);
         
 
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
         
        e.printStackTrace();
    } finally {
        try {
        //  libérer ressources de la mémoire.
            cn.close();
            st.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }


Avec mon programme, voila ce que je fais :
int C1 = InsertCategorieToDB("v","er","suf",' ',' ');
int C2 =InsertCategorieToDB("v", "er", "suf", 'g', 'e');
int C3 =InsertCategorieToDB("a", "able", "s",' ',' ');
int C4 =InsertCategorieToDB("a", "ant", "su",' ',' ');

et l'idéal pour moi serai de faire ça pour remplir regles, par exmple :
InsertRegleToDB(C1,C3);
InsertRegleToDB(C2,C3);
InsertRegleToDB(C3,C1);


Je vous remercie,
cordialement


A voir également:

4 réponses

midow34 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
S'il vous plaît je bloque dessus c'est très important pour un projet dans le cadre de mes études :(
0
midow34 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonsoir,

j'ai un peu avancé... Donc là, j'insert dans la table categorie normalement mes catégorier remplies avec chacune son id de 1 à 4

aussi, j'insert dans regle des champs avec des id de 1 à 3 comme prévu, parcontre les champs catB et catF sont à 0 et n'ont pas les ids que je veux
0
midow34 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
up :(
0
Flog78
 
Il manque un guillement avant catBase_db , après la parenthèse :
String ins_regle_db =("INSERT INTO Regle (catBase_id,catFinale_id) VALUES ("+ catBase_db + "','"+ catFinale_db + "')");
0