我想在运行时从Windows窗体插入表格,并尝试使用此功能,发生异常是
字段“我写的字符串”在字段列表中未知”“指向“ resultat = cmd.ExecuteNonQuery”
Sub maj()
Dim cnx As New MySqlConnection("datasource=localhost;database=bdgeststock;username=root;password=")
Dim cmd As MySqlCommand = cnx.CreateCommand
Dim resultat As Integer
If ConnectionState.Open Then
cnx.Close()
End If
cnx.Open()
cmd.CommandText = "insert into utilisateur(login,password,type)value(" & TextBox3.Text & "," & TextBox4.Text & "," & ListBox1.SelectedItem() & ")"
resultat = cmd.ExecuteNonQuery
If (resultat = 0) Then
MessageBox.Show("error")
Else
MessageBox.Show("success")
End If
cnx.Close()
cmd.Dispose()
End Sub
您要连接的字符串值没有用引号引起来,因此数据库将其标识为列名-然后由于没有此类列而失败。此外,这使您的程序容易受到SQL Injection攻击。
更好的方法是使用绑定变量:
cmd.CommandText = "insert into utilisateur (login, password, type) value (@P1, @P2, @P3)"
cmd.Parameters.AddWithValue("@P1", TextBox3.Text)
cmd.Parameters.AddWithValue("@P2", TextBox4.Text)
cmd.Parameters.AddWithValue("@P3", ListBox1.SelectedItem())
cmd.ExecuteNonQuery()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句