2010-03-14 4 views
0

je reçois cette erreur, alors que je teste le code ci-dessous:mysql dans vb.net

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[student](ID, LASTNAME, FIRSTNAME, SCHOOL) VALUES ('333', 'aaa', 'aaa', 'aaa')' at line 1 

Je viens recycle le code que j'ai utilisé dans la manipulation ms base de données SQL. Donc la syntaxe doit être fausse. Quelle pourrait être la syntaxe correcte pour ajouter des enregistrements dans la base de données mysql? Voici mon code actuel:

idnum = TextBox1.Text 
     lname = TextBox2.Text 
     fname = TextBox3.Text 
     skul = TextBox4.Text 


     Using sqlcon As New MySqlConnection("Server=localhost; Database=testing;Uid=root;Pwd=nitoryolai123$%^;") 

      sqlcon.Open() 
      Dim sqlcom As New MySqlCommand() 
      sqlcom.Connection = sqlcon 

      sqlcom.CommandText = "INSERT INTO [student](ID, LASTNAME, FIRSTNAME, SCHOOL) VALUES (@ParameterID, @ParameterLastName, @ParameterFirstName, @ParameterSchool)" 

      sqlcom.Parameters.AddWithValue("@ParameterID", TextBox1.Text) 
      sqlcom.Parameters.AddWithValue("@ParameterLastName", TextBox2.Text) 
      sqlcom.Parameters.AddWithValue("@ParameterFirstName", TextBox3.Text) 
      sqlcom.Parameters.AddWithValue("@ParameterSchool", TextBox4.Text) 

      sqlcom.ExecuteNonQuery() 

     End Using 

S'il vous plaît aider, merci

Répondre

1

Essayez de supprimer les crochets du nom de la table student, et en ajoutant un espace entre le nom de la table et la liste des colonnes: [student] (ID, ...

Sans votre définition de schéma de table Je ne peux pas être sûr à 100%, mais ParameterID semble être un int, mais vous passez en tant que chaîne (c'est-à-dire que la valeur est entourée de guillemets simples). Essayez de convertir TextBox1.Text en un int d'abord (en utilisant Try.Parse)