Bonjour,

J'essaie d'insérer un enregistrement dans une base de données SQL Server, à travers une application web (jsp/servlet), mais j'obtiens ce message:

Cannot insert the value NULL into column 'DateCreation', table 'GestionDesReclamationsV3.dbo.Reclamations'; column does not allow nulls. INSERT fails.
J'affiche les valeurs des variables en question et elles ne sont pas nulles.

J'ai essayé de mettre, après le cast de la requête ci dessous, des dates en dur et toujours rien.

Alors que quand j'essaie d'exécuter la même requête directement dans l'analyseur de requête de SQL Server, ça passe sans problème.

Voilà le code d'insertion (la requête est assez longue 26 paramètres):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Requete =  "INSERT INTO Reclamations ";
Requete = Requete  + "   (NumSeq, ReferenceReclamation, LangueReclamation, Statuts, CodeSource, CodeTypeReclamation, CodeFonctionTraitement, CodeFonctionSaisie, Resume, ";
Requete = Requete  + "   MatriculeTraitement, CodeFonctionSuivi, Objectifsuivi, IntituleReclamant, TypeReclament, CodeTypeClient, CodeGuichget, NCin, NCompte, "; 
Requete = Requete  + "   AdresseReclamant, CodeVille, CodePays, CodePostal, Rappel,  DateReception, DateCreation, MatriculeSaisie )";
Requete = Requete  + " VALUES     ( "+ NumSeq +",'" +  ReferenceReclamation+  "','" + LangueReclamation +  "','"+ Statuts+"'," + CodeSource.getCle()+  "," + CodeTypeReclamation.getCle() +  "," + CodeFonctionTraitement.getCle()+  "," +CodeFonctionSaisie.getCle()+  ",'"+Resume +  "'," ;
Requete = Requete  +  "MatriculeTraitement.getCle() +  "," + CodeFonctionSuivi.getCle()+  ",'" + Objectifsuivi+  "','" + IntituleReclamant+  "','" + TypeReclament+  "'," + CodeTypeClient.getCle()+  "," + CodeGuichget.getCle()+  ",'" + NCin+  "','" + NCompte+  "','" ;
Requete = Requete  +  "AdresseReclamant +  "'," + CodeVille.getCle()+  "," + CodePays.getCle()+  ",'" + CodePostal+  "'," +  Rappel+  ",CAST('"+ DateReception +"' AS datetime),CAST('"+ ObjDate.ToDay("dd/MM/yyyy") +"' AS datetime), '" +  MatriculeSaisie +"')";
try{
  s.executeUpdate(Requete);
}
catch(SQLException e) {
  System.out.println(e.getMessage());
}
Si vous y comprenez quelque chose parce que franchement pour moi c'est le noir total.

Merci