ExecuteNonQuery()

youss45 Messages postés 2 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 15 mai 2007 - 15 mai 2007 à 13:54
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 20 mai 2007 à 19:48
Salut tout le monde, voila je veux metter ds ma datagrid un boutton update , quand je l'active il m'envoie  l' erreur suivant  System.Data.OleDb.OleDbException: Type de données incompatible dans l'expression du critère. voici mon code de la foncion pourtan i n ya rien de méchant
 protected void Update(object sender, DataGridCommandEventArgs e)
    {
        l
     // Déclaration des différents objets
     OleDbConnection conn = null;
     OleDbCommand Cmd= null;
     string sSQL;
     string ID_CMD;
     string NOM_PRODUIT;
     string TYPE;
     string QUANTITE;
    
     // Création de notre connexion
     conn = new OleDbConnection();
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"
        + "Data Source=D:\\PharmaSys\\PharmaSys.mdb";

      // Ouverture de la connexion
        conn.Open();
    
     // Récupération de l'ID de la classe et des données saisies
     ID_CMD = e.Item.Cells[2].Text;
     TYPE = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
     NOM_PRODUIT = ((TextBox)e.Item.Cells[4].Controls[0]).Text;
     QUANTITE = ((TextBox)e.Item.Cells[5].Controls[0]).Text;

     // Ecriture de la requête SQL     sSQL "UPDATE PHR_CMD SET TYPE '" + TYPE + "', NOM_PRODUIT = '" + NOM_PRODUIT + "',QUANTITE = '" + QUANTITE + "'WHERE ID_CMD= '" + ID_CMD + "'";
    
     // Création de l'objet command
     Cmd = new OleDbCommand(sSQL, conn);
    
     // Execution de la requête
     Cmd.ExecuteNonQuery();
    
     // Indication de l'absence d'élément sélectionné
     D1.EditItemIndex = -1;
    
     // Rechargement du DataGrid
     chargerGrille();
    
     // Fermeture de notre connexion
     conn.Close();
    
}
     si vous pouvez m' aider je vous serez vraiment reconnaison?
   

3 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 mai 2007 à 14:11
Salut,

t'es sur phpcs la...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
youss45 Messages postés 2 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 15 mai 2007
15 mai 2007 à 19:02
en asp.net et c# la BD et sur access
0
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
20 mai 2007 à 19:48
Alors deja ce type de message d'erreur signifie que dans la requete SQL un des parametres passés a un type ne correspond pas au type attendu(ex : tu passes du texte alors que le champ attend un int)
   sSQL "UPDATE PHR_CMD SET TYPE '" + TYPE + "', NOM_PRODUIT = '" + NOM_PRODUIT + "',QUANTITE = '" + QUANTITE + "'WHERE ID_CMD= '" + ID_CMD + "'";

la quantité ne serait elle pas un entier par hasard ?
ou ID_CMD  aussi peut etre

sinon toujours pareil un conseil utiliser les requetes parametrées

System.Data.OleDb.OleDbParameter
0
Rejoignez-nous