Это работало нормально, но вдруг оно перестало работать и начало выдавать мне эту ошибку, либо вставляя новые данные, либо обновляя. Я должен сказать, что я знаю, что плохо конкатенировать, но наши тахеры обязывают нас делать это таким образом.
Я попробовал тот же запрос в 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
Ив обоих случаях при нажатии кнопки появляются следующие ошибки:
Обновление неизвестного столбца 'i' в 'списке полей'
Вставка ... "дляправильный синтаксис для использования близких ') значений (X, XXXXXXXX,' XXXX ',' XXXX ', XXXXXXXX,' XXXXXX ',' XXXX-XX-XX ',' c 'в строке 1 (где X любое возможное значение)
Таблица «Персональный» дизайн: