【问题标题】:Error in saving to Database for combo box为组合框保存到数据库时出错
【发布时间】:2014-08-22 16:18:43
【问题描述】:

我收到以下错误:

错误:您的 sql 语法有错误。请查看与您的 mysql 服务器版本相对应的手册,以便在第 1 行的“软件开发人员”附近使用正确的语法。

这是我的代码:

Imports MySql.Data.MySqlClient

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim conStr As String = ("server=localhost;username=root;password=rootfnc;database=one")
    Try
        Dim con As New MySqlConnection(conStr)
        Dim cmd As MySqlCommand

        For i = 0 To ComboBox1.Items.Count
            con.Open()

            Dim sqls As String
            sqls = "insert into one.initial_nom (idinitial_nom, f_name, s_name, th_name, fo_name, app_no, adm_type) values ('" & TextBox6.Text & "','" & TextBox1.Text & "', '" & TextBox2.Text & "', '" & TextBox3.Text & "', '" & TextBox4.Text & "', '" & TextBox5.Text & ",'" & ComboBox1.Items(i).ToString & "')"
            cmd = New MySqlCommand(sqls, con)
            cmd.ExecuteNonQuery()
        Next
    Catch ex As Exception
        MsgBox("Error in saving to Database. Error is :" & ex.Message)
    End Try
End Sub

有谁知道这个错误是由什么引起的?

【问题讨论】:

  • 请提供更多细节。你什么时候收到错误?你想做什么??
  • 我正在尝试使用组合框添加一些记录。当我单击保存按钮时...错误:您的 sql 语法有错误。请查看与您的 mysql 服务器版本对应的手册在第 1 行的“SOFTWARE DEVELOPER”附近使用正确的语法。
  • 在您的项目计数中,Items.Count-1
  • 仍然与该错误相同
  • 在 Items(i) 之后执行 Items(i).Text.ToString

标签: mysql vb.net workbench


【解决方案1】:

您没有正确地将插入到字符串中的所有值括在撇号中:

... '" & TextBox5.Text & "_,'" & ComboBox1.Items(i).ToString & "')"

请注意,在TextBox5.Text 连接到字符串之后,我将下划线放在了哪里:在逗号之前应该有一个右撇号。

现在,事实是,您首先不应该将用户输入的 SQL 命令连接在一起,而应该使用SqlCommandSqlParameter collection 准备语句。这是一个简化的示例:

sqls = "insert into tableName (column1) values (@parameterName)"
cmd = New MySqlCommand(sqls, con)
cmd.Parameters.Add(new MySqlParameter("@parameterName", TextBox5.Text))
' ... 
' <snip - set other parameters as needed>
' ...
cmd.ExecuteNonQuery()

【讨论】:

  • 当滴答答,不错的收获!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
相关资源
最近更新 更多