Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2007, 16:42
Martincho
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 22 años, 8 meses
Puntos: 0
Pregunta Problema Con UpDate en DataGrid

Hola amigos, tengo un problema al realizar un update desde un DataGrid; sucede que cuando confirmo la actualizacion en la fila editable el sql me devuelve el error numero 8178.
Alguien me podría decir a que se debe este error.
Les adjunto el procedimiento de Actualización:



Sub MyList_Update(Sender As Object, E As DataGridCommandEventArgs)

Dim DS As DataSet
Dim MyCommand As SqlCommand

Dim UpdateCmd As String = "UPDATE propiedades SET matricula = @matricula,barrio = @barrio," & _
"mza=@mza,lot=@lot,calle=@calle,nro=@nro,pis=@pis, dpt=@dpt,obs=@obs,id_est=@id_est,id_inq=@id_inq " & _
" where matricula = @matricula"

MyCommand = New SqlCommand(UpdateCmd, MyConnection)

MyCommand.Parameters.Add(New SqlParameter("@matricula", SqlDbType.int))
MyCommand.Parameters.Add(New SqlParameter("@barrio", SqlDbType.VarChar, 30))
MyCommand.Parameters.Add(New SqlParameter("@mza", SqlDbType.VarChar, 3))
MyCommand.Parameters.Add(New SqlParameter("@lot", SqlDbType.VarChar, 3))
MyCommand.Parameters.Add(New SqlParameter("@calle", SqlDbType.VarChar, 40))
MyCommand.Parameters.Add(New SqlParameter("@nro", SqlDbType.VarChar, 5))
MyCommand.Parameters.Add(New SqlParameter("@pis", SqlDbType.VarChar, 3))
MyCommand.Parameters.Add(New SqlParameter("@dpt", SqlDbType.VarChar, 3))
MyCommand.Parameters.Add(New SqlParameter("@obs", SqlDbType.text))
MyCommand.Parameters.Add(New SqlParameter("@id_est", SqlDbType.int))
MyCommand.Parameters.Add(New SqlParameter("@id_inq", SqlDbType.int))
MyCommand.Parameters("@matricula").Value = MyList.DataKeys(CInt(E.Item.ItemIndex))

MyCommand.Connection.Open()

Try
MyCommand.ExecuteNonQuery()
Message.InnerHtml = "<b>Registro actualizado</b><br>" & UpdateCmd.ToString()
MyList.EditItemIndex = -1
Catch Exp As SQLException
If Exp.Number = 2627
Message.InnerHtml = "ERROR: ya existe un registro con la misma clave principal"
Else
Message.InnerHtml = "Nro.Err:" & Exp.number & ". ERROR: no se pudo actualizar el registro, compruebe que los campos están rellenos correctamente"
End If
Message.Style("color") = "red"
End Try

MyCommand.Connection.Close()

BindGrid()
End Sub

Saludos.Y Gracias.-