erreur ORA 00917 virgule absente

erreur ORA 00917 virgule absente - Java - Programmation

Marsh Posté le 25-01-2011 à 09:49:06    

Bonjour,
 
Comme le dit le titre, j'essaye d'insérer une date dans ma base de données mais j'ai une erreur ORA 00917 virgule absente qui s'affiche et je en vois pas du tout ou est l'erreur...
 
Si quelqu'un a déja eu ce probleme????
 
Merci d'avance

Reply

Marsh Posté le 25-01-2011 à 09:49:06   

Reply

Marsh Posté le 25-01-2011 à 10:50:43    

C'est probablement un problème de conversion de données.
 
Est-ce que vous utilisez to_date() ?
 
Mais c'est peut-être aussi un problème avec un champ précédent, par exemple, un champ qui contient une apostrophe au lieu de deux apsostrophes.

Reply

Marsh Posté le 25-01-2011 à 12:10:39    

Nn je n'utilise pas to_date()
 
Voici mon code dans mon applet:
 
java.util.Date d=null;
try  
{
 d = new SimpleDateFormat("d/M/y",Locale.FRANCE)
   .parse(jTextFieldDate.getText());
 if (d==null)
  throw new Exception();
}  
catch (Exception e)  
{    
 JOptionPane.showMessageDialog(null,
  "Rentrez une date au format jj/mm/aaaa" );
 return;
}
 
et voici mon code pour insérer :
 
package BD;
import java.sql.*;
import java.util.Date;
 
public class Insertion {
    private static Connection c;
 
    private static Statement stm;
 
    public static void insertResa( int numPersonne, int numGroupe, String responsabilite,Date date, String nomPersonne, String prenomPersonne, String civilite  ) throws SQLException
    {
        try
        {
         // récupération de la connexion
            c = Connect.getCon();      
                   
            stm = c.createStatement();
            String  sql = "INSERT into MEMBRE VALUES (" + numPersonne + "," + numGroupe + ",'" + responsabilite + "'," + date + ",'" + nomPersonne + "','" + prenomPersonne + "','" + civilite + "')";
            // Execution de la requete
            stm.executeUpdate(sql);      
            stm.close();
 
        }
        catch(SQLException sqlE)
        {
            System.out.println("Sql Erreur " + sqlE.getMessage());
            throw sqlE;
        }
        catch(Exception e)
        {
            System.out.println("Erreur " + e.getMessage());
        }
    }
}
 
Merci de prendre du temps de m'aider

Reply

Marsh Posté le 25-01-2011 à 12:37:47    

TheTcha a écrit :

Nn je n'utilise pas to_date()

Il faudrait. Là vous utilisez le format date de Java qui correspond au nombre de millisecondes depuis le 1er janvier 1970. Mais ce n'est pas le même que le format date de Oracle, qui contient des sous-champs pour chaque élément de la date depuis 4712 av. J.-C. (http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96584/oci03typ.htm#421890).
 
Donc, il faudrait laisser la date au format texte, et la convertir avec un to_date() dans la commande insert.
 

Reply

Marsh Posté le 25-01-2011 à 12:48:30    

ok je vais voir ça!!!
 
Vous n'avez pas de lien à me préciser svp??

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed