Bonjour,
J'espere que c'est le bon forum... comme il n'y avait que jdbc (pas de sqlj..) je l'ai mis là
Je suis en train d'écrire une classe qui se connecte à Oracle XE dans laquelle je dois faire un insert sur une table client.
Voici le script de création de la table CLIENTS :
A l'execution, la connexion est établie, mais il bug au niveau du code sql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE Clients ( ci NUMBER(5), civilite CHAR(3), nom VARCHAR(20), prenom VARCHAR(20), sexe CHAR(1), adr_lib VARCHAR(50), adr_cp NUMBER(5), adr_ville VARCHAR(20), CONSTRAINT pk_clients PRIMARY KEY (ci), CONSTRAINT ck_clients_civilite CHECK (civilite IN ('MR','MME','MLE')), CONSTRAINT ck_clients_sexe CHECK (sexe IN ('H','F')));
Visiblement, il ne reconnait pas l'instruction SQLJ. Pourtant j'ai importé les lib nécessaires. A savoir :
Mon code est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 import java.sql.*; import oracle.sqlj.*; import oracle.sqlj.runtime.Oracle; import java.lang.*; import java.lang.String; import java.io.*; import java.sql.SQLException;
la fonction Clavier.lire() retourne une chaine de caractere tappée au clavier.
Il bug au niveau de l'avant dernière ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 System.out.println("=== Saisissez les informations concernant le client \n"); System.out.println("Civilité : \n"); civilite = Clavier.lire(); System.out.println("Nom : \n"); nom = Clavier.lire(); System.out.println("Prénom : \n"); prenom = Clavier.lire(); System.out.println("Sexe (m/f) : \n"); sexe = Clavier.lire(); System.out.println("Libellé adresse : \n"); adr_lib = Clavier.lire(); System.out.println("Code postal : \n"); adr_cp = Integer.parseInt(Clavier.lire()); System.out.println("Ville : \n"); adr_ville = Clavier.lire(); System.out.println("Ajout du nouveau client...\n"); #sql {INSERT INTO clients VALUES (:IN civilite, :IN nom, :IN prenom, :IN sexe, :IN adr_lib, :IN adr_cp, :IN adr_ville)}; System.out.println("Ajout effectué avec succès.\n");Auriez-vous une idée, svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Exception in thread "main" java.lang.Error: Problèmes de compilation non résolus : Erreur de syntaxe sur le sème "Invalid Character", interface attendu Erreur de syntaxe, insérez ";" pour effectuer FieldDeclaration Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe sur le sème ":", supprimez ce sème Erreur de syntaxe, insérez ";" pour effectuer MethodDeclaration at nomPackage.var_hotes.main(var_hotes.java:55)
Merci beaucoup![]()
Partager