18/07/2012, 12:16
|
| | Fecha de Ingreso: julio-2012 Ubicación: Distrito Federal
Mensajes: 7
Antigüedad: 12 años, 4 meses Puntos: 0 | |
Respuesta: error en update con vb.net y access HOLA YO TAMBIEN SOY NUEVO PERO LO UNICO QUE TE PUEDO DECIR ES QUE NO ES MUY RECOMENDABLE CONCATENAR EL STRING CON TU OBJETO, YO TE RECOMENDARIA UTILIZAR PARAMETROS Y APLICANDOLO A TU PROBLEMA SERIA ALGO PARECIDO A LO SIGUIENTE:
Código:
Public Sub update_datos()
Dim midni, minombre2, miapellido2, mifotocheck2, mitarjetap2, milocal, micontrato2, misector2, miservicio2, mijefe2, miobs As String
midni = dni.Text
minombre2 = nombres2.Text
miapellido2 = apellidos2.Text
mifotocheck2 = ftc2.Text
mitarjetap2 = tp2.Text
milocal = txt_local.Text
micontrato2 = Convert.ToString(contrato2.SelectedItem)
misector2 = Convert.ToString(sector2.SelectedItem)
miservicio2 = Convert.ToString(servicio2.SelectedItem)
mijefe2 = Convert.ToString(jefe2.SelectedItem)
miobs = "1"
Dim consulta, completarAct As String
consulta = "UPDATE personal SET nombre2=@minombre,apellidos2=@mapillidos,fotocheck2=@fotocheck2,tarjetap2=@mtarjeta,contrato2=@mcontrato2,sector2=@msector2,servicio=@mservicio2,jefe2=@mjefe2 WHERE dni=@mdni"
completarAct = "UPDATE personal SET local=@mlocal WHERE dni=@mdni"
Using cnn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\basededatos\bd.mdb")
Dim cmd As OleDbCommand = cnn.CreateCommand()
Dim cmd2 As OleDbCommand = cnn.CreateCommand
With cmd
.Connection = cnn
.CommandText = consulta
.Parameters.AddWithValue("@mnombre", minombre2)
.Parameters.AddWithValue("@mapellidos", miapellido2)
.Parameters.AddWithValue("@mfotocheck2", mifotocheck2)
.Parameters.AddWithValue("@mtarjeta", mitarjetap2)
.Parameters.AddWithValue("@mcontrato2", micontrato2)
.Parameters.AddWithValue("@msector2", misector2)
.Parameters.AddWithValue("@mservicio2", miservicio2)
.Parameters.AddWithValue("@mjefe2", mijefe2)
.Parameters.AddWithValue("@mdni", midni)
End With
With cmd2
.Connection = cnn
.CommandText = completarAct
.Parameters.AddWithValue("@mlocal", milocal)
.Parameters.AddWithValue("@mdni", midni)
End With
Try
cnn.Open()
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
MessageBox.Show("REGISTRO ACTUALIZADO CORRECTAMENTE", "REGISTRO ACTUALIZADO", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch mfalla As OleDbException 'tienes que controlar exepciones
MsgBox(mfalla.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "ERROR EN UPDATE")
End Try
End Using
End Sub
ALGO MAS QUE ME GUSTARIA COMENTARTE ES QUE DEBERIAS DE CONTROLAR LAS EXEPCIONES CUANDO HACES EL EXECUTENONQUERY, BUENO ESO ES TODO ESPERO Y TE HAYA AYUDADO AUNQUE SEA UN POCO |