Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/05/2011, 11:30
badillasergio
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema para actualizar registros

Cita:
Iniciado por PRT147 Ver Mensaje
Hola Amigos del foro, tengo una Funcion en un formulario detalle para actualizar registros de una tabla SQL local, el problema que me surge es que el codigo que utilizo para ubicar los registros a modificar no me sirve. El codigo es este:

Me.OperadoresBindingSource.Filter = "Codigo_oper = " & Me.TB_Codigo.Text & " And Identificador=2"

Una vez filtrado el formulario con el registro ubicado realizo los cambios y llamo a esta Funcion:

Public Function ModifOper(ByVal Cedula As String, ByVal RowId As Integer) As Boolean
Try
Dim conect As New SqlCeConnection(My.Settings.LaLolaConnectionString )
conect.Open()
Dim ds As New DataSet
Dim adp As New SqlCeDataAdapter("Select * from Operadores", conect)
adp.Fill(ds)
Dim fila As DataRow = ds.Tables(0).Select("Id = " + RowId.ToString + "0")(0)
fila.BeginEdit()
fila("Identificador") = Me.L_Identificador.Text
fila("Codigo_oper") = Me.TB_Codigo.Text
fila("Den_oper") = Me.TB_RazonSocial.Text
fila("Domicilio") = Me.TB_Domicilio.Text
fila("Telefono") = Me.TB_Telefono.Text
fila("Celular") = Me.TB_Celular.Text
fila("Fax") = Me.TB_Fax.Text
fila("Email") = Me.TB_Email.Text
fila("Contacto") = Me.TB_Contacto.Text
fila("Estado") = Me.L_Estado.Text
fila.EndEdit()
Dim cb As New SqlCeCommandBuilder(adp)
adp.Update(ds)
ds.Tables(0).AcceptChanges()
Return True
conect.Close()
Catch ex As DataException
MessageBox.Show(ex.Message)
Return False
Catch ex2 As SqlCeException
MessageBox.Show(ex2.Message)
Return False
End Try
End Function

El error que me devuelve es "Indice fuera de los limites de la matriz".

Con respecto a este error me comentaron que el filtro que utilizo para ubicar el registro no me permite realizar ningun tipo de modificacion a un registro ya editado. Ahora alguien me podria orientar con un ejemplo o bien ponerme el codigo correcto para ubicar registros, para que la funcion de resultado, yo se trabajar unicamente con el metodo Filter es por ese motivo la necesidad del codigo. Desde ya muchas a gracias a todos aquellos que fueron ayudandome en este tema que todavia lamentablemente no pude solucionar. Saludos


Estimado,
Primero que nada, no estas actualizando los valores a la base de datos, lo único que estas haciendo es seteando datarow, te aconsejo que leas algo de sql ya que ni siquiera estas utilizando la sentencia UPDATE TABLA SET CAMPO = @VALOR.

saludos