【问题标题】:error in mysql syntax in vb.netvb.net 中的 mysql 语法错误
【发布时间】:2010-03-14 02:01:58
【问题描述】:

我在测试以下代码时收到此错误:

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

我刚刚回收了我在操作 ms sql 数据库时使用的代码。所以语法一定是错误的。将记录添加到 mysql 数据库的正确语法可能是什么? 这是我当前的代码:

 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

请帮忙,谢谢

【问题讨论】:

    标签: mysql database vb.net connection-string


    【解决方案1】:

    尝试从student 表名中删除方括号,并在表名和列列表之间添加一个空格:[student] (ID, ...

    如果没有您的表架构定义,我无法 100% 确定,但 ParameterID 似乎是一个 int,但您是作为字符串传递的(即,值用单引号括起来)。尝试先将TextBox1.Text 转换为int(使用Try.Parse

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      相关资源
      最近更新 更多