VB - requete mysql en utilisant des fonctions intégrées

nath_77 Messages postés 1 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 4 août 2008 - 4 août 2008 à 11:32
ba7bouhhh Messages postés 20 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 16 novembre 2011 - 2 juin 2011 à 00:51
Bonjour à tous,

J'ai un problème dont je ne trouve pas la solution.
Je travaille sous access avec un bdd Mysql .
Je veux au cours de mon application effectuer l'insertion d'un enregistrement dans ma une table mysql .
Je l'effectue par le biais d'un ado.execute "insert into personnes(nom,prenom,uid) values (" & v_nom & "," & v_prenom & "," & uid &")".

v_nom et v_prenom sont des variables dont le contenu à été saisi dans un champs de formulaire.
Le champs uid doit être lui renseigné par l'appel de la fonction uuid() mysql intégrée. Et c'est là que les problèmes commencent.
à l'execution j'ai un message d'erreur du type fonction uuid non définie ( en fait elle est considérée comme une fonction vb !) 
En mode débogage quand je prend le contenu de la chaine sql envoyée au serveur et que je la colle directement sous l'interface mysql ça fonctionne.

Comment dois-je coder ma ligne pour que cela fonctionne depuis vb ???

hellllllppppppp!!!!!!!

merci 

2 réponses

crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
4 août 2008 à 16:54
Premièrement évites les noms de champ corrspondant à des noms de variable (UID)ou alors mets des crochets : INSERT INTO ([UID],....)

Deuxièmement dans la requète les variables de types string doivent comporter des cotes : values ( ' " & v_nom & " ' , ' " & v_prenom & " ' ," & uid &")"

Après ca devrait mieux fonctioner!!

Courage
0
ba7bouhhh Messages postés 20 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 16 novembre 2011
2 juin 2011 à 00:51
Une question, svp:

Si je veux modifier cette requete MySQL comme suit:
insert into personnes(nom,prenom,uid) values (@vnom ,@vprenom ,@vuid)"

et j'utilise ensuite:

With Macommande.Parameters
.AddWithValue("@vnom", v_nom)
.AddWithValue("@vprenom", v_prenom)
.AddWithValue("@vuid", uid)
End With


est ce que ça peut fonctionner comme ça? En effet, j'ai eu des problèmes en utlisant cette méthode et je ne sais pas c'est quoi le problème !!!
Pouvez vous aider?

------------
Crdt,
ABZ
0
Rejoignez-nous