Modification d'une table"oracle"

Résolu
lyzalylyz Messages postés 16 Statut Membre -  
lyzalylyz Messages postés 16 Statut Membre -
azul tout le monde;svp si quelqu'un peut m'aider a trouver ou est le pbl ds mon code java "netbeans",je veut modifier un patient ds la base de donnée oracle ;voisi le code que j ai fait:

try{
String req = "UPDATE patient set nom= "+nom.getText()
+" 'prenom =' "+ prenom.getText()
+" 'nom jeune fille =' "+nm_jfill.getText()
+" 'sexe=' "+sex.getText()
+" 'lieu de naissance=' "+lieu_nais.getText()
+" 'date naissance=' "+dat_nais.getText()
+" 'adresse=' "+adr.getText()
+" 'N telephone=' "+n_tel.getText()
+" 'profession=' "+prof.getText()
+" 'dette=' "+dett.getText()
+" 'diagnostic=' "+diag.getText()
+" 'remarque='"+rmq.getText()+" 'WHERE id=' "+ id.getText() ;

stat = con.obtenirConnexion().createStatement();
stat.executeUpdate(req);
System.out.println("patient bien modifié");

}
catch(SQLException ex){
System.out.println(ex);
}

il me retourne tjrs l'erreur suivante :
java.sql.SQLSyntaxErrorException: ORA-00933: la commande SQL ne se termine pas correctement

et merci d'avance

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Il faudrait que tu affiches la requête finie
    System.out.println(req);
    .

    Si par exemple tous tes getText valent "0" ça donnerait cette requête, ce qui est évidement faux :

    UPDATE patient set nom= 0 'prenom =' 0 'nom jeune fille =' 0 'sexe=' 0 'lieu de naissance=' 0 'date naissance=' 0 'adresse=' 0 'N telephone=' 0 'profession=' 0 'dette=' 0 'diagnostic=' 0 'remarque='0 'WHERE id=' 0
    0
    1. lyzalylyz Messages postés 16 Statut Membre
       
      dsl pour le retard car j ai des examens a passer,je l ai rajouté mais toujours j aurai un msg d'erreur comme
      UPDATE patient SET nom='jh', prenom='yt', nom_jeune_fille='hg',sexe='kj',date_naissance='18/5/1994',lieu de naissance='ff',n_telephone='0555714766',adresse='rt',profession='hg',diagnostic='ez',dette='30',remarque='az'WHERE id='2'

      java.sql.SQLSyntaxErrorException: ORA-00927: signe 'égal' absent ;
      dsl et merci
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      lieu de naissance='ff'

      Une table ne peut pas avoir une colonne avec des espaces dans son nom...
      Oracle s'attends à avoir un
      =
      après
      lieu
      !
      0
    3. lyzalylyz Messages postés 16 Statut Membre
       
      c vrai c ca le probleme,et merci enrm
      0