strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014
-
15 nov. 2013 à 17:20
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014
-
20 nov. 2013 à 11:04
Bonjour,
J'utilise Visual Studio 2010 (VB.Net) et une base ACCESS .
J'ai essayé pas mal de fois d'insérer des données à partir des champs textBox et le problème revient à comment se reférer aux valeurs textuelles qui existent dans les textBox.
J'ai utilisé le code suivant:
Dim cmd As OleDb.OleDbCommand
Dim chaine As String
Dim conection As New OleDb.OleDbConnection
conection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\ROLAND KOFFI\Documents\Visual Studio 2010\Projects\WindowsApplication3_LOYERS\WindowsApplication3_LOYERS\GestionLoyers1.accdb"
NHenry
Messages postés15083Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 septembre 2023159 17 nov. 2013 à 15:05
Bonjour,
As-tu affiché la requête SQL exécutée pour essayer de comprendre d'où vient le problème ?
As-tu essayer d'exécuter la requête générée directement dans Access ?
Attention aux injections SQL, car si un des TextBox contient un apostrophe, ta requête sera incorrecte.
Bonsoir NHenry,
Je vous remercie de votre précieux temps que vous m'accordiez pour m'aider résoudre le problème auquel je suis confronté
Effectivement je me suis rendu compte que lorsque mes textbox contiennent un apostrophe ma requête deveint incorrecte et le message d'érreur s'affiche.
Sans les apostrophes la requête marche parfaitement.
Pourtant je souhaite utiliser des apostrophes puisque certains des noms comportent des apostrophes dans leur écriture.
Est - il possible d'utiliser des textbox avec des apostrophes?
Si oui, comment y procéder?
Merci d'avance de votre aide.
NHenry
Messages postés15083Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 septembre 2023159 18 nov. 2013 à 22:09
Regardes du coté des requêtes paramétrées, sinon, double les ' pour les échapper (par un remplacement dans le code String.Replace).
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014 18 nov. 2013 à 23:36
Salut NHenry. Merci pour ton aide
j'ai essayé à nouveau en doublant les '. mais le problème demeure toujours.
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014 18 nov. 2013 à 23:50
Vous m'avez conseillé les requêtes parametrées. Mias je ne n'ai pas une grande notion de ces types de requêtes.
Une aide de plus dans ce sens me permettrait de franchir une grande étape de mon travail.
Merci beaucoup pour votre aide.
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014 20 nov. 2013 à 11:04
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 18 nov. 2013 à 22:29
Salut
Private Function InsertLocataire() As Boolean
Dim conection As New OleDb.OleDbConnection
Dim command As OleDbCommand
Try
conection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\ROLAND KOFFI\Documents\Visual Studio 2010\Projects\WindowsApplication3_LOYERS\WindowsApplication3_LOYERS\GestionLoyers1.accdb"
command.Connection = conection
command = New OleDbCommand()
command.CommandText = "INSERT INTO LOCATAIRES (Nom, Adresse,Ville,Pays) VALUES (?,?,?,?);"
command.Parameters.Add("?", OleDbType.BSTR).Value = textbox1.text
command.Parameters.Add("?", OleDbType.BSTR).Value = TextBox2.Text
command.Parameters.Add("?", OleDbType.BSTR).Value = TextBox3.Text
command.Parameters.Add("?", OleDbType.BSTR).Value = TextBox4.Text
command.ExecuteNonQuery()
conection.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014 18 nov. 2013 à 23:43
Bonsoir cs_ShayW
vous avez déclaré une fonction. Comment faire pour l'appeler et l'associer à mon boutton qui sert à remplir ma table LOCATAIRES?
merci d'avance pour ton aide?
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014 19 nov. 2013 à 00:25
Merci beaucoup Bonsoir cs_ShayW
ton code sur les requêtes parametrées m'a permis résoudre le problème. le code marche parfaitement.
Merci à vous tous qui m'avez aider à résoudre. Vous m'avez permis de découvrir et d'apprendre à nouveau.
strafor
Messages postés35Date d'inscriptiondimanche 3 novembre 2013StatutMembreDernière intervention27 mai 2014 19 nov. 2013 à 00:46
Pour tous ceux qui voudraient le code le voici :
Dim cmd As OleDb.OleDbCommand
Dim chaine As String
Dim conection As New OleDb.OleDbConnection
conection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\ROLAND KOFFI\Documents\Visual Studio 2010\Projects\WindowsApplication3_LOYERS\WindowsApplication3_LOYERS\GestionLoyers1.accdb"
conection.Open()
chaine = "INSERT INTO LOCATAIRES(Nom, Adresse, Ville, Pays, Portable1, Portable2, Email, Commentaire) VALUES (?,?,?,?)"
cmd = New OleDb.OleDbCommand(chaine, conection)
With cmd.Parameters
.Add("?", OleDb.OleDbType.BSTR).Value = TextBox1.Text
.Add("?", OleDb.OleDbType.BSTR).Value = TextBox2.Text
.Add("?", OleDb.OleDbType.BSTR).Value = TextBox3.Text
.Add("?", OleDb.OleDbType.BSTR).Value = TextBox4.Text
End With
cmd.ExecuteNonQuery()
conection.Close()
Je remercie tous les membres du forum pour leur aide qui m'a permis de résoudre mon problème.
18 nov. 2013 à 21:35
Je vous remercie de votre précieux temps que vous m'accordiez pour m'aider résoudre le problème auquel je suis confronté
Effectivement je me suis rendu compte que lorsque mes textbox contiennent un apostrophe ma requête deveint incorrecte et le message d'érreur s'affiche.
Sans les apostrophes la requête marche parfaitement.
Pourtant je souhaite utiliser des apostrophes puisque certains des noms comportent des apostrophes dans leur écriture.
Est - il possible d'utiliser des textbox avec des apostrophes?
Si oui, comment y procéder?
Merci d'avance de votre aide.
18 nov. 2013 à 22:09
18 nov. 2013 à 23:36
j'ai essayé à nouveau en doublant les '. mais le problème demeure toujours.
18 nov. 2013 à 23:50
Une aide de plus dans ce sens me permettrait de franchir une grande étape de mon travail.
Merci beaucoup pour votre aide.
20 nov. 2013 à 11:04
Merci infiniment