Bonjour,
Donc apparemment tu n'as pas assez lu , va faire un tour sur les tutos SQL pour apprendre la syntaxe du SQL.
Il y a de multiples erreurs dans ton code :
Ta requête : INSERT INTO CONTACT(Me.textbox1.text)
Un INSERT s'écrit (c'est une des syntaxes possibles) :
INSERT INTO maTable (maPremiereColonneARemplir, maSecondeColonneARemplir, ..., maNiemeColonneARemplir) VALUES(valeurDeMaPremiereColonneARemplir, ..., valeurDeMaNiemeColonneARemplir)
Ensuite le tuto doit certainement l'évoquer, il faut utiliser les requêtes paramétrées pour fournir les valeurs pour éviter les injections SQL. Donc dans ce cas, la requête INSERT s'écrit comme suit :
INSERT INTO maTable (maPremiereColonneARemplir, maSecondeColonneARemplir, ..., maNiemeColonneARemplir) VALUES(@valeurDeMaPremiereColonneARemplir, ..., @valeurDeMaNiemeColonneARemplir)
Le @ signifie que @valeurDeMaPremiereColonneARemplir, ... sont des paramètres et à ce moment on fournit la valeur comme suit :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
// connexion à la base de données
Dim MyConnexion As SqlConnection = New SqlConnection("Data Source=localhost;" & _
"Integrated Security=SSPI;Initial Catalog=northwind")
// Requête SQL
Dim Mycommand As SqlCommand = MyConnexion.CreateCommand()
Mycommand.CommandText = "INSERT INTO CONTACT(NOM) VALUES(@nom)"
Dim parameter as new SqlParameter("@nom", SqlDbType.VarChar)
parameter.Value = Me.textbox1.text
Mycommand.Parameters.Add(parameter);
MyConnexion.Open()
Dim myReader As SqlDataReader = Mycommand.ExecuteReader()
myReader.Close()
MyConnexion.Close()
End Sub |
Partager