Bonjour,
lorsque que je fais un insert avec des champs contenant des apostrophes,cela me génère des erreurs!
comment y remédier!
merci.
Bonjour,
lorsque que je fais un insert avec des champs contenant des apostrophes,cela me génère des erreurs!
comment y remédier!
merci.
Montre nous une de tes requêtes qui te pose problème
mais déjà sache que des noms de champ avec des apostrophe, caractères accentués & CO, sont à PROSCRIRE ABSOLUMENT, pour justement eviter ce genre de problème
c'est pas le nom du champ,mais plutôt la valeur du champ saisi!
exemple: L'hopital
Fait voir comment tu construits tes requêtes
un bout de code:
sInsertSQL = "insert into Missions([Référence Employés], NomEmployés) values('" & sLRef & "','" & lblNOM.Text & "')"
Dim cmdInsert As New Data.OleDb.OleDbCommand(sInsertSQL, cnAccess)
cmdInsert.ExecuteNonQuery()
Requête paramétrée...??!!
Faut utiliser des requêtes paramétrées !!!
T'auras plus ce genre de problèmes
Y a un article à ce sujet sur le site. Je t'invite à faire une recherche
C'est expliqué ici : http://johannblais.developpez.com/tu...s-donnees/#LIV
je sais pas si j'ai bien compris,mais je cru qu'il suffisait de changer les & par +,mais pourtant aucun résultat?
je sais plus
Suis l'article de saumon agile et tu n'auras plus aucun soucis. Il est d'ailleurs très bien réalisé.
Je m'y suis mis, ca demande quelques lignes de code en plus mais qu'est ce que c'est propre. Plus aucun problème avec les chaines et les dates.
Allez je me lance :
PS: Merci à Saumon Agile pour m'avoir appris cette technique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub PetitTest(ByVal NomDuClient As String) Dim requete As String = "SELECT * FROM MaTableClient WHERE MaTableClient.NomDuClient = @LeNomDuClient" Dim commande As DBCommand = MaConnexionVersLaDataBase.CreateCommand(requete) Dim parametre As DbParameter = commande.CreateParameter() parametre.ParameterName = "@LeNomDuClient" parametre.DbType = DbType.String ' Ici tu indiques s'il s'agit d'un String ou Int32 ou autre parametre.Direction = ParameterDirection.Input parametre.Value = NomDuClient commande.Parameters.Add(parametre) End Sub
Merci pour le Lien et pour la qualité de l'article. J'avais le meme problème sur un select where, qui a toujours fonctionner mais quand l'utilisateur à mis une valeur avec apostrohpe mon code a bugué.
Il ne s'agit pas de replacer l'operateur de concaténation,mais d'utuliser les requetes paramètrées tel que présentées dans l'article. Ou alors sert toi de la fonction Replace toujours comme presentée dans l'article et tu n'auras plus de problème.Envoyé par alicia26
Merci à Johann Blais
Merci pour le lien!c'est très clair maintenant!
Effectivement avec un select, les RPs sont idéales!
Mais pour un insert,j'ai dû utilisé un Replace et çà fonctionne correctement!
merci à tous!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager