gpt4 book ai didi

mysql - 从 VB.net 插入 mysql 时出错

转载 作者:行者123 更新时间:2023-11-29 09:30:39 24 4
gpt4 key购买 nike

这工作正常,但突然停止工作并开始给我这个错误,插入新数据或更新。我必须说,我知道串联起来不好,但我们的老师要求我们这样做。

我在 navicat 中尝试了相同的查询,它可以工作,但是,当我将它放入 VB.net 中时,它开始给我这个错误。

查询代码:

UPDATE personal SET nombre = '" & ModUser_txtNombre.Text & "', 2nombre = '" & ModUser_txt2Nombre.Text & "', apellido = '" & ModUser_txtApellido.Text & "', 2apellido = '" & ModUser_txt2apellido.Text & "', sexo = '" & ModUser_cbSexo.Text & "', f_nac = '" & ModUser_dateFNacimiento.Text & "', calle = '" & ModUser_txtDirCalle.Text & "', numero = " & ModUser_txtDirNumero.Text & ", estado_civil = '" & ModUser_cbEstCivil.Text & "', email = '" & ModUser_txtEmail.Text & "', hijos = '" & ModUser_txtHijos.Text & "', tel_celular = " & ModUser_txtCelular.Text & ", tel_fijo = " & ModUser_txtFijo.Text & ", f_ingreso = '" & ModUser_dateFIngreso.Text & "', cargo = " & cargo.ToString & ", grado = " & ModUser_cbGrado.Text & ", departamento = " & departamento.ToString & ", email_empr = '" & ModUser_txtMailEmpresarial.Text & "', tlf_empr = " & ModUser_txtTlfEmpresarial.Text & ", rol = " & rol.ToString & " WHERE doc = " & List_txtBuscar.Text & "(now insert)    

insert into Personal (rol, doc, nombre, apellido, passwd, sexo, f_nac,
estado_civil, f_ingreso, cargo, grado, dpto, email,
email_empr, tlf_empr, calle, numero, 2nombre,
2apellido, activo,)
values(" & adduser_rol & ", " & AddUser_txtDocumento.Text & ", '"
& AddUser_txtNombre.Text & "', '" & AddUser_txtApellido.Text & "', "
& AddUser_txtContraseña.Text & ", '" & AddUser_cbSexo.Text & "', '"
& AddUser_dateFNacimiento.Text & "', '" & AddUser_cbEstCivil.Text & "', '"
& AddUser_dateFIngreso.Text & "', '" & AddUser_txtCargo.Text & "', "
& AddUser_cbGrado.Text & ", '" & AddUser_txtDepartamento.Text & "', '"
& AddUser_txtEmail.Text & "', '" & AddUser_txtMailEmpresarial.Text & "', "
& AddUser_txtTlfEmpresarial.Text & ", '" & AddUser_txtDirCalle.Text & "', "
& AddUser_txtDirNumero.Text & ", '" &
AddUser_txt2Nombre.Text & "', '" & AddUser_txt2apellido.Text & "', 's')

视觉代码:

   cnn.Open()
Dim Query As String
Query = "UPDATE personal SET nombre = '" & ModUser_txtNombre.Text & "', 2nombre = '" & ModUser_txt2Nombre.Text & "', apellido = '" & ModUser_txtApellido.Text & "', 2apellido = '" & ModUser_txt2apellido.Text & "', sexo = '" & ModUser_cbSexo.Text & "', f_nac = '" & ModUser_dateFNacimiento.Text & "', calle = '" & ModUser_txtDirCalle.Text & "', numero = " & ModUser_txtDirNumero.Text & ", estado_civil = '" & ModUser_cbEstCivil.Text & "', email = '" & ModUser_txtEmail.Text & "', hijos = '" & ModUser_txtHijos.Text & "', tel_celular = " & ModUser_txtCelular.Text & ", tel_fijo = " & ModUser_txtFijo.Text & ", f_ingreso = '" & ModUser_dateFIngreso.Text & "', cargo = " & cargo.ToString & ", grado = " & ModUser_cbGrado.Text & ", departamento = " & departamento.ToString & ", email_empr = '" & ModUser_txtMailEmpresarial.Text & "', tlf_empr = " & ModUser_txtTlfEmpresarial.Text & ", rol = " & rol.ToString & " WHERE doc = " & List_txtBuscar.Text & ""
Dim cmd As New MySqlCommand(Query, cnn)
rdr = cmd.ExecuteReader
cnn.Close()

(现在插入)

Dim adduser_rol As Integer

If AddUser_rbAdmin.Checked Then
adduser_rol = 1
ElseIf AddUser_rbUsuario.Checked Then
adduser_rol = 2
Else
MsgBox("Debe seleccionar si el nuevo empleado es usuario o administrador.")
End If
Dim cnn As New MySqlConnection
cnn.ConnectionString = ("data source=localhost;user id=root; password='1234';database=tax")
Try
Dim Query As String
Query = "insert into Personal (rol, doc, nombre, apellido, passwd, sexo, f_nac, estado_civil, f_ingreso, cargo, grado, dpto, email, email_empr, tlf_empr, calle, numero, 2nombre, 2apellido, activo,) values(" & adduser_rol & ", " & AddUser_txtDocumento.Text & ", '" & AddUser_txtNombre.Text & "', '" & AddUser_txtApellido.Text & "', " & AddUser_txtContraseña.Text & ", '" & AddUser_cbSexo.Text & "', '" & AddUser_dateFNacimiento.Text & "', '" & AddUser_cbEstCivil.Text & "', '" & AddUser_dateFIngreso.Text & "', '" & AddUser_txtCargo.Text & "', " & AddUser_cbGrado.Text & ", '" & AddUser_txtDepartamento.Text & "', '" & AddUser_txtEmail.Text & "', '" & AddUser_txtMailEmpresarial.Text & "', " & AddUser_txtTlfEmpresarial.Text & ", '" & AddUser_txtDirCalle.Text & "', " & AddUser_txtDirNumero.Text & ", '" & AddUser_txt2Nombre.Text & "', '" & AddUser_txt2apellido.Text & "', 's', )"
cnn.Open()
Dim cmd As New MySqlCommand
cmd = New MySqlCommand(Query, cnn)
cmd.ExecuteNonQuery()
MessageBox.Show("Usuario guardado")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

当我按下按钮时,都会出现以下错误:

Updating Unknown column 'i' in 'field list'

插入..."为了使用近的正确语法')values(X,XXXXXXXX, 'XXXX', 'XXXX', XXXXXXXX, 'XXXXXX', 'XXXX-XX-XX','c' 在第 1 行(X为任何可能的值)

表格“个人”设计:

1

最佳答案

你的sql语句有误。在列列表的末尾,逗号太多了

 Query = "insert into Personal (rol, doc, nombre, apellido, passwd, sexo, f_nac
, estado_civil, f_ingreso, cargo, grado, dpto, email, email_empr, tlf_empr
, calle, numero, 2nombre, 2apellido, activo) values(" & adduser_rol & ", "
& AddUser_txtDocumento.Text & ", '" & AddUser_txtNombre.Text & "', '"
& AddUser_txtApellido.Text & "', " & AddUser_txtContraseña.Text & ", '"
& AddUser_cbSexo.Text & "', '" & AddUser_dateFNacimiento.Text & "', '"
& AddUser_cbEstCivil.Text & "', '" & AddUser_dateFIngreso.Text & "', '"
& AddUser_txtCargo.Text & "', " & AddUser_cbGrado.Text & ", '"
& AddUser_txtDepartamento.Text & "', '" & AddUser_txtEmail.Text & "', '"
& AddUser_txtMailEmpresarial.Text & "', " & AddUser_txtTlfEmpresarial.Text
& ", '" & AddUser_txtDirCalle.Text & "', " & AddUser_txtDirNumero.Text
& ", '" & AddUser_txt2Nombre.Text & "', '" & AddUser_txt2apellido.Text
& "', 's', )"

在Vb net中也使用Prepared语句喜欢

cmd.Connection = conn

cmd.CommandText = "INSERT INTO Personal (rol, doc, nombre, apellido, passwd, sexo
, f_nac, estado_civil, f_ingreso, cargo, grado, dpto, email, email_empr, tlf_empr
, calle, numero, 2nombre, 2apellido, activo) VALUES(@adduser_rol, @AddUser_txtDocumento,.....)"

cmd.Prepare()

cmd.Parameters.AddWithValue("@adduser_rol", adduser_rol)
cmd.Parameters.AddWithValue("@AddUser_txtDocumento", AddUser_txtDocumento.Text)
...
cmd.ExecuteNonQuery()

关于mysql - 从 VB.net 插入 mysql 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58807481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com