Bonjour j'ai un problème
bon quand j'ajoute un texte exemple "main d'œuvre" il me donne une erreur au niveau de (').
merci d'avance de m'aider.
Version imprimable
Bonjour j'ai un problème
bon quand j'ajoute un texte exemple "main d'œuvre" il me donne une erreur au niveau de (').
merci d'avance de m'aider.
Bonjour,
Si un ' te fait une erreur, peut-être que deux ' la résoudront.
Et quelle est l'erreur exactement ? A la compilation ? A l'exécution ?
L'erreur est-elle dûe à une requète sql?
Si c'est oui, remplace ' par '' (deux apostrophes) dans la requète.
voici mon code
qu'est ce que je doit faire???Code:
1
2
3
4 cmd = New SqlCommand("insert into deviss(DEV_CONTACT)values('" & Me.TextBox1.Text & "')", con) con.Open() cmd.ExecuteNonQuery() MsgBox("OK")
Code:Me.TextBox1.Text.replace("'","''")
il est recommandé d'utiliser les requêtes paramétrés pour diverses raisons (dont celle du ', ou encore du format des dates)
voir les DbParameters
vraiment je te remercier yonpo tu ma aidé merci bcp:ccool:
:resolu: ?
Bonjour yonpo c'est résolue avec textbox mes avec datagridview non ça marche pas :? voici le code
voici l'erreurCode:
1
2 cmd1 = New SqlCommand("insert into DET_DEVIS(DEV_NUM,DET_DEV_REF,DET_DEV_DESG) VALUES(" & Me.TXT_NUMDEVIS.Text & ",UPPER('" & Me.DataGridView1.Rows(b).Cells("Column1").Value.ToString.Replace("'", "''") & "'),UPPER('" & Me.DataGridView1.Rows(b).Cells("Column2").Value.ToString.Replace("'", "''") & "')", con) cmd1.ExecuteNonQuery()
Merci d'avanceCitation:
incorrect syntax near 'exploitation'.
unclosed quotation mark before the charactere string '),',')'
j'ajoueterais aussi que ca évite les requetes illisibles comme celle ci
et un lien en cadeau
http://webman.developpez.com/article...rameter/vbnet/
j'ai pas encore compris
le but c'est de remplacer
parCode:command.commandtext = "SELECT * FROM table WHERE nom = '" & me.Textbox1.text.replace("'","''") & "'"
la requete est lisible, les ' ne peuvent pas poser de problème, ca évite les piratage par du sql dans le textbox, et pour les dates ca évite les inversions jour/mois causé par des différences de langue entre le programme et la baseCode:
1
2 command.commandtext = "SELECT * FROM table WHERE nom = @nom" command.parameters.add("@nom",me.Textbox1.text)
non pour le textbox ça marche très bien mais le problème est dans le datagridview voici le code
Code:
1
2 cmd1 = New SqlCommand("insert into DET_DEVIS(DEV_NUM,DET_DEV_REF,DET_DEV_DESG) VALUES(" & Me.TXT_NUMDEVIS.Text & ",UPPER('" & Me.DataGridView1.Rows(b).Cells("Column1").Value.ToString.Replace("'", "''") & "'),UPPER('" & Me.DataGridView1.Rows(b).Cells("Column2").Value.ToString.Replace("'", "''") & "')", con) cmd1.ExecuteNonQuery()
tu manques cruellement d'ouverture d'esprit ...
merci bcp pol6
ce forum n'est pas fait pour donne le code aux gens, il sert à expliquer des concepts, donner des pistes etc...
sinon les gens reviennent 2 jours plus tard avec la même question (ce qui a réussi à se produire sur ce topic !)
donc je t'ai donné un exemple, c'est à toi de l'adapter, certes tu n'as pas un problème avec le textbox, mais ta table ne s'appelle pas "table" non plus et tu ne fais pas un select !
je complète l'exemple avec un combobox
donc maintenant tu peux essayer d'adapter ceci à ton datagridview et ta requeteCode:
1
2 command.commandtext = "SELECT * FROM table WHERE nom = @nom" command.parameters.add("@nom",me.combobox1.selectitem.tostring)
et/ou lire le lien que je t'ai donné qui explique pourquoi il ne faut pas concaténer des morceaux de requetes avec des controles, et comment faire ça de manière propre
merci beaucoup vraiment c'est gentil de ta part maintenant j'ai compris parce que je suis débutante
Merci encore
il y a pas mal de choses qui peuvent paraitre floues au début, il convient donc en général de se document afin d'avoir une vue d'ensemble et de comprendre la plateforme .net
un cours plutot bien fait ici : http://plasserre.developpez.com/cours/vb-net/