derijkeseb
Messages postés2Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention31 mars 2005
-
31 mars 2005 à 16:16
minimarch
Messages postés31Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention12 février 2006
-
31 mars 2005 à 17:42
Bonjour à tous,
J'ai un petit soucis d'interpretation de '' dans une requete INSERT à une base access
Mon code est tout simple :
Dim nbligne
As
Integer
Dim query
As
String
'construction de la requete, la dernière valeur (orgtel) n'étant pas renseignée donc deux côtes de suite soit '' et c ça qui cause une erreur...
Dim conn
As
New OleDbConnection(strChaineDeConnexion)
Dim cmd
As
New OleDbCommand(query, conn)
'ouverture de la connexion
conn.Open()
'execution de la commande
Try
nbligne = cmd.ExecuteNonQuery()
Finally
conn.Close()
'fermeture de la connexion
End
Try
Ce code fonctionne trés bien si je rempli tout les champs par une chaine, mais si je ne veux rien insérer dans le dernier champs (comme le cas ci-dessus) alors ça plante.
La requete fonctionne en direct dans access telle qu'elle est écrite.
J'ai tester de remplacer le caractere ' par une variable (sans succes).
J'ai tester avec chr(39) code ascii de ' (sans succes).
Quelqu'un aurait-il une solution ? C'est surement tout bête mais bon, j'avoue que ne suis pas trop à l'aise avec Visual studio.net et le VB. Faut bien commencer un jour...;o)
minimarch
Messages postés31Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention12 février 2006 31 mars 2005 à 17:04
Salut,
quel est la reference ou le composant que tu utilises ? j'essaye de le
trouver sur mon ordi pour tester un truc et je ne la trouve pas.
je sais que sur d'autres types de connection aux bases de donnees, tu
as la possibilite de 'preparer' la requete en remplacant les parametres
par des ? (le caractere depend des modules). Mais il faut utiliser une
fonction speciale.
Ensuite tu peux executer la requete 'preparee' en lui specifiant les
parametres. L'avantage, c'est que ce systeme gere les guillements, les
chaines vides et tout le tralala.
autre solution, a tu essaye avec vbNullString ? Des qu'un parametre est
vide, tu le remplaces par cette constante. Mais la, je ne suis sur de
rien.
MiniMarch'
PS: si tu utlises VB.Net, je ne pourrai pas aller plus loin, je suis rester a VB
derijkeseb
Messages postés2Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention31 mars 2005 31 mars 2005 à 17:19
Merci pour tout ces renseignements,
Je suis effectivement en VB.NET.
Je viens d'essayer avec vbnullstring mais sans succes, parcontre tu as raison, je vais creuser du coté du ? à la place des paramêtres, j'ai vu ça quelque part.