2010-09-07 5 views
0

Je ne peux pas voir ce qui ne va pas avec mon code de syntaxe de l'instruction SQL est ici:ODBC VB Erreur de syntaxe Throwing

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Using Con1 As New Odbc.OdbcConnection("Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Database=MyGame;User=root; Password=MyPasswordWhichIWontTellYou;") 
     Dim mInsertSQL As String 
     mInsertSQL = "INSERT INTO Accounts (Username,Password,Str,Int,Agi,Money) VALUES ('" & txtUser.Text & "','" & txtPass.Text & "'," & Int(txtStr.Text) & "," & Int(txtInt.Text) & "," & Int(txtAgi.Text) & ",0);" 
     Dim Cmd1 As New Odbc.OdbcCommand(mInsertSQL, Con1) 
     Try 
      Con1.Open() 
      Cmd1.ExecuteNonQuery() 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 
    End Using 
End Sub 

Juste pour clarifier la déclaration d'insertion réelle est ce avec des données:

"INSERT INTO Accounts (Username,Password,Str,Int,Agi,Money) VALUES ('MyUsername','MyPassword',0,0,0,0)" 

L'erreur indiquée est:

ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.1.41]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 'Int,Agi,Money) VALUES ('MyUsername','MyPassword',0,0,0,0)' at line 1 

Merci beaucoup.

Répondre

1

Wild Guess: 'Int' en tant que nom de champ peut être réservé, peut-être que vous pourriez essayer un autre nom pour le champ?

+0

Merci bugtussle pour la réponse rapide, a parfaitement fonctionné. – iiNsyD

+0

Ou si vous ne pouvez pas essayer de remplacer Int par "Int". –