Java : Echec d'insertion dans une BD Oracle

Fermé
Rachid - 16 mai 2003 à 22:05
peppena Messages postés 143 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 3 août 2010 - 18 mai 2003 à 13:54
Salut les experts,

J'espère que vous me trouverez une solution à mon proplème décrit ci-dessous:

- j'ai écrit un petit programme Java permettant de se connecter à une base de données Oracle. La connection est bien reussite. Concernant l'insertion d'un nouvel enregistrement dans une table de ma base de données, deux cas de figures se présentent:
1- l'insertion passe correctement quand j'utilise l'instruction suivante:
N=requete.executeUpdate ("insert into local " + " values('test8',20,'test')");
ici j'ai utilisé des valeurs.

2- l'insertion ne passe pas et une exception est générée quand j'utilise l'instruction suivante:

N=requete.executeUpdate ("insert into local "+" values(nom_batimentS, num_bureauS,descriptionS)");
oû nom_batimentS, num_bureauS et descriptionS sont des noms de variables.
Merci d'avance;
A voir également:

3 réponses

peppena Messages postés 143 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 3 août 2010 5
17 mai 2003 à 09:23
bonjour c normal
il faut écrire

N=requete.executeUpdate ("insert into local "+" values("+nom_batimentS+","+ num_bureauS+","+descriptionS+)");

ainsi il prendra les valeurs que contiennent les variables

j'espere que c bien clair
0
salut les experts ,
La reponse que vous m'avez envoyé ne marche pas, car les valeurs des variables concernés sont récupérer à partir d'un formulaire d'une interface .Alors quand on saisie dans ce formulaire des valeurs, celles ci ne passent pas vers la base par la solution proposée.
voici la partie de recupération des valeurs que nous avons fait :
/************/
String nom_batimentS = jTextField1.getText();
int num_bureauS = Integer.parseInt(jTextField2.getText());
String descriptionS = jTextField3.getText();
System.out.println(nom_batimentS);
System.out.println(num_bureauS);
System.out.println(descriptionS );
N=requete.executeUpdate ("insert into local "+" values("+nom_batimentS+","+
num_bureauS+","+descriptionS+")");
/************/
merci d'avance.
0
peppena Messages postés 143 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 3 août 2010 5
18 mai 2003 à 13:54
peut etre tes champs du formulaire peuvent dans ceratins cas etre vide , donc tu dois initialiser avant tes variables.


la requete 'N=requete.executeUpdate ... est correcte

bon travail
0