Requête update access en c#

Résolu
dinosors_evolution Messages postés 14 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 12 juin 2007 - 18 mai 2007 à 01:16
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 19 mai 2007 à 09:51
Je suis newbi en c#
mon probléme est que lorsque je fait une requête update il me donne le message suivants:
"Type de données incompatible dans l'expression du critère."

mon code est assez simple le voila

 string conStr = @"Provider=Microsoft.JET.OLEDB.4.0;" + @"data source=DermatoSoft_DB.mdb";
            dataGridView1.DataSource = null;
            ds = new DataSet();      
            conn = new OleDbConnection(conStr);
            command = conn.CreateCommand();
            conn.Open();
            command.CommandText = "UPDATE patients SET Nom='" + textBox17.Text + "',Prenom ='"+ textBox8.Text                 + "',Date_de_naissance '" + textBox10.Text + "',Adresse'" + textBox2.Text + "',Telephone = '"
                + textBox6.Text + "',Groupe_sanguin ='" + comboBox2.Text + "',Maladie = '" + textBox9.Text
                + "',Date_arrivee ='"+ textBox16.Text + "' where Matricule = " + comboBox3.Text;
            adapter = new OleDbDataAdapter(command);

            adapter.Fill(ds);
              conn.Close();

   merci

9 réponses

cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2007 à 14:27
La doc contient des exemples d'utilisation de requêtes paramétrée (par position uniquement avec OleDb) :
http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters(vs.80).aspx
http://msdn2.microsoft.com/en-us/library/yy6y35y8(VS.80).aspx

/*
coq
MVP Visual C#
CoqBlog
*/
3
cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2007 à 09:00
Salut,


Pour l'erreur je ne sais pas, par contre je peux déjà te dire que tu devrais regarder du côté des requêtre paramétrées au lieu de faire des concat.
Matricule ne sera pas un type chaine par hasard ?

/*
coq
MVP Visual C#
CoqBlog
*/
0
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
18 mai 2007 à 13:08
tu dois avoir une conversion a faire parmis tes champs(ex: ceratins champs doivent etre de type int et tu passes du texte)
tu peux utiliser Convert
ex : Convert.ToInt32(textbox1.text)
0
dinosors_evolution Messages postés 14 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 12 juin 2007
18 mai 2007 à 13:52
non matricule est un numeroauto en access
je vais l'essayer

   merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dinosors_evolution Messages postés 14 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 12 juin 2007
18 mai 2007 à 13:53
mais je me demandais comment je peut la faire une requête paramétrer
   merci
0
dinosors_evolution Messages postés 14 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 12 juin 2007
18 mai 2007 à 13:59
bon merci mais ca na pas marché
je croit que ces une chaîne de caractére cette requête donc ca na aucun sens de cinvertir un élement en entier et le concaténer

svp aider moi ,je ne sais plus quoi faire

   merci
0
dinosors_evolution Messages postés 14 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 12 juin 2007
18 mai 2007 à 14:54
je vais voir les site que tu ma donné

   merci
0
dinosors_evolution Messages postés 14 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 12 juin 2007
18 mai 2007 à 15:25
bon j'ai lu les page que tu ma donné
et sincérement je n'ai rien compris
d'un coté parceque je suis nul en anglais, d'un autre  parcequ'il n'y a pas comment faire une requête update

alors si vous pouvez m'aider!!!
   merci
0
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
19 mai 2007 à 09:51
il ne faut pas mettre les numerauto dans les requetes car justement ils sont générés automatiquement
0
Rejoignez-nous