canal visual basic .net

Recursos Visual Basic.NET, VB.NET, Manuales de programación, Tutoriales, Foros de programación, Comunidad de programadores

Usuarios activos:  73

Foros de programación, recursos, tutoriales, sistemas operativos...

Bienvenido a la zona de foros. Participa en alguno de nuestros foros: Foros de visual basic, foros de visual basic.net foros de Crystal reports, programas gratis, foros de C++ - C# , foros de Java, foros de PHP, foros de ASP.net. Seguro que hay un foro que te servirá de gran utilidad y si no lo encuentras avísanos y crearemos uno nuevo.
Resultados 1 al 4 de 4
  1. #1
    Efren está desconectado Junior Member Iniciad@
    Fecha de ingreso
    19 dic, 09
    Mensajes
    3

    Predeterminado Eliminar registros de base de datos

    Tengo un proyecto en VB 2008. Tiene una base de datos llamada: "archivoreferencia.mdf" de ella saco una tabla que contiene unicamente los nombres de los usuarios. Al editarla en ejecución no guarda cambios despues de eliminar.

    Codigo del boton eliminar:

    Private Sub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Dim bm As BindingManagerBase = Me.BindingContext(BindingSource1)
    Dim fila As DataRowView
    Try
    fila = bm.Current
    fila.Row.Delete()
    posicion()
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    End Sub

    Codigo del sub posicion(sirve para mostrar en que posición dentro de la base de datos se encuentra):

    Private Sub posicion()
    Dim bm As BindingManagerBase = Me.BindingContext(BindingSource1)
    Dim qposicion As Short
    qposicion = bm.Position + 1
    Lbposicion.Text = qposicion.ToString & "/" & bm.Count
    If bm.Count = 0 Then

    Btnbuscar.Enabled = False
    Else
    Btnbuscar.Enabled = True
    End If
    End Sub

    Se guardan los contenidos en el evento Form_closing del formulario:

    Private Sub administraciónuser_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    Try
    If DataSet11.HasChanges() Then
    Me.SqlDataAdapter1.Update(DataSet11)
    End If
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try
    End Sub

    Da el siguiente error:
    Update requiere que deletecommant sea válido cuando se pasa la colección datarow con filas eliminadas.

    No se como arreglarlo. De antemano muchas gracias.

  2. #2
    Avatar de nereo.lopez
    nereo.lopez está desconectado Senior Member Veteran@
    Fecha de ingreso
    10 mar, 09
    Ubicación
    Spain
    Mensajes
    722

    Predeterminado

    Hola,
    por el error, tiene pinta de que en tu dataset, en el table adapter correspondiente no has definido el deleteCommand.

    Dáselo y ya debería funcionar.

    Un saludo

  3. #3
    Efren está desconectado Junior Member Iniciad@
    Fecha de ingreso
    19 dic, 09
    Mensajes
    3

    Predeterminado Re: Eliminar registro de base da datos

    Llevo unos dias intentando encontrar la solución para este proyecto. Se me ocurrio que no estubiese bien generada la instrucción. Pero he visto que el asistente creo las instrucciones SELECT ,INSERT, UPDATE y DELETE. Asi que según eso no tendria que fallar por ahi.

  4. #4
    Avatar de Knossos
    Knossos está desconectado Senior Member Veteran@
    Fecha de ingreso
    09 may, 08
    Ubicación
    Spain
    Mensajes
    515

    Predeterminado

    Hola.!

    Algunas cosillas importantes: la primera es que NO es aconsejable (a no ser que no tengas otra opcion) trabajar con datasets (datatables..mejor) que estén vinculados directamente con la base de datos; es mejor trabajar desconectado... y cuando el usuario presiona el boton de eliminar, simlpemente lo buscas en la base de datos REAL y...si aún se encuentra el registro (puede haberse eliminado desde otro terminal...lo que se llama "control de concurrencia"), lo eliminas con un DELETE directamente. Náda más sencillo y seguro.

    Otra cosa: si no es muy necesario, no utilices datasets, utiliza DataTables, porque ocupan menos menoria y espacio al no tener guardada internamente los vínculos de las tablas...y demás tonterias que a veces no se utilizan.

    Si aun así y todo queres eliminarlos del datatable/dataset... puedes invocar al método AcceptChanges (si lo tienes vinculado..claro está), y te lo eilminará de la Base de Datos... si es que se puede....

    Cualquier otra duda, postea nuevamente.

    Un abrazo desde España.

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Visual Studio .VisualBasic.net .ADO.NET .ASP.NET .Framework .Crystal report
[Visual Basic .NET · Información legal · Condiciones de uso · Publicidad · Contacto · RSS novedades Foro · Inicio]
Un sitio web de Internelia (Ontecnia) © Copyright 2013 canalvisualbasic.net. Todos los derechos reservados