2010-09-07 124 views
0

我看不到有什么不对我的SQL语句的语法代码是在这里:ODBC VB投掷语法错误

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 

只是为了清楚起见,实际插入语句是这样一些数据:

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

给出的错误是:

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 

非常感谢。

回答

1

野生猜测:'诠释'作为字段名称可能被保留,也许你可以尝试该字段的另一个名称?

+0

感谢bugtussle的快速反应,工作完美。 – iiNsyD 2010-09-07 19:18:39

+0

或者如果你不能尝试用Int替换Int。 – 2012-08-06 14:43:47