none
TableAdapter no actualiza la base de datos RRS feed

  • Pregunta

  • Hola

    Sucede que trabajando yo con basic.NET me topo con que mi adaptador no actualiza la base de datos he probado con el ejemplo de MSDNVideo y con un ejemplo en acces pero la instruccion

    Me.TitlesTableAdapter.Update(Me.TituloDS.Titles)

    no actualiza, no marca error, ni nada por el estilo, pero no lo hace, que puedo hacer?, a que se debe este error?

     

    Os agradezco su ayuda

    miércoles, 18 de julio de 2007 17:17

Todas las respuestas

  • Tienes configurada la propiedad UpdateCommand?

    http://msdn2.microsoft.com/es-es/library/tf579hcz(VS.80).aspx

    Un saludo.
    jueves, 19 de julio de 2007 6:46
  •  creo he resolvido parte del problema, resulta que utilizaba el asistente de VB.net y me pedia (en el caso de utilizar una base de datos de access), mover el archivo a una carpeta local, yo por recomendacion aceptaba la sugerencia, pero veo que si mantengo el archivo .mdb en la carpeta original, la actualizacion de los registros procede sin ningun problema, asi que pienso que el problema ha de estar en la confirugacion de la conexion, de todas formas te hare llegar mis comentarios al respecto hasta solucionar bien el problema.

     

    Gracias.

    jueves, 19 de julio de 2007 15:25
  • Bueno tambien he tenido el mismo problema, estaba siguiendo el ejemplo de MSDNVideo, utilizando la base de datos de SQL, igual como estaba en el ejemplo, la solucion fue igual a la tuya, excluir la base de datos del proyecto.

    Los pasos que realice fueron los mismos del videotutorial del ejemplo, cree la base de datos, arrastre el dataset al formulario y todo igual al ejemplo. Todo funcionaba muy bien, el dataset guardaba los datos y a la hora de guardar no presentaba errores, pero al revisar la base de datos no aparecerian los registros nuevos.

     

    Solucion al problema:

     

    1. Buscar la base de datos en el "Explorador de soluciones".
    2. Seleccionarla y con click derecho del mouse "Excluir del Proyecto".
    3. Limpiar la solucion y cerrar el Visual Studio.
    4.  Ir al directorio del proyecto donde estan las carpetas "bin", "obj", los formularios y la base de datos.
    5. Cortar la base de datos que tiene la extension "nombreBaseDatos.mdf", (opcional la "nombreBaseDatos.ldf", yo borre ese archivo, pues se genera automaticamente) y pegarla en un directorio diferente, sugerencia, el directorio inmediatamente anterior.
    6. Abrir nuevamente el proyecto, pues ser desde alli mismo dando doble click sobre el nombre del proyecto con extension ".vbproj"
    7. Ahora a cambiar el string de la conexion, puedes hacer click sobre el nombre del proyecto que esta en negrita en el "Explorador de soluciones". Click derecho del mouse y "Propiedades".
    8. En la pestaña que se abre, busca "Configuracion".
    9. Click sobre la fila que esta el "Valor" aparece un boton con "..." haz click.
    10. En la ventana que se abre, ve a "Examinar", buscas la base de datos donde la moviste, y ya esta.

    Otra cosa que puedes hacer es crear la base de datos y no crear el dataset, luego exluyes la base de datos, la mueves de directorio y despues si creas el dataset, escojiendo la ruta donde moviste la base de datos.

     

    Sugerencia, en el codigo debajo de:

    Me."nombreDeLaTabla"TableAdapter.Update(Me."nombreDataSet"."nombreTabla")

    Escribir:

    Me."nombreDataSet".AcceptChanges()

     

    Ejemplo:

     

    Code Snippet

    Private Sub IdentificacionBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IdentificacionBindingNavigatorSaveItem.Clic

    Try

    Me.Validate()

    Me.IdentificacionBindingSource.EndEdit()

    Me.IdentificacionTableAdapter.Update(Me.IdentificacionDataSet.Identificacion)

    Me.IdentificacionDataSet.AcceptChanges()

    MsgBox("Update successful")

    Catch ex As Exception

    MsgBox(ex.Message)

    MsgBox("Update failed")

    End Try

    End Sub

     

     

     

    Espero esta informacion le sirva a alguien, pues a mi me tomo un dolor de cabeza, solucionar este pequeño inconveniente.

    miércoles, 1 de agosto de 2007 17:58
  • Gracias Camacho agradezco tu comentario, en especial por recomendar AccepChanges(), de todas formas de encontrar una solucion diferente, seguro la hacer saber, pues todavia no quedo convencido del porque no actualiza la BD en una ubicacion local.  

     

     

    Saludos !

    miércoles, 1 de agosto de 2007 18:38
  • muchas gracias, me ha sido realmente de mucha ayuda, mas bien por observar a la gente de msdn, me parece conveniente que esta clase de bugs, nos sean puesto en conocimiento, así no perdemos la confianza en los programas que desarrollan, y en tal caso responder a los novatos como yo, que en algun momento nos desazonamos de los productos de ms con esta clase de "cabitos sueltos", gracias

    sábado, 1 de septiembre de 2007 1:12
  • La base de datos sí se actualiza aunque se utilice el asistente, lo que ocurre es que, al aceptar copiar la base de datos a la carpeta local del ejecutable (Debug y Bin), también aceptas implícitamente que esa copia se realice en cada ejecución, por lo que, cada vez que corres el programa, el entorno copia la base de datos original a la carpeta local, machacando la anterior modificada.

     

    Para comprobarlo, ejecuta el programa, haz cambios en los datos, guarda y, al salir (y antes de volver a ejecutar) comprueba manualmente la base de tu carpeta Debug. Verás que sí ha cambiado.

     

    Un saludo.

    jueves, 15 de noviembre de 2007 15:32
  • Eres un genio,  no podía solucionar el problema, seguí los pasos que indicaste y... 1000 puntos.

    Mil gracias, Eldigardo. Me salvaste la vida.

     

    lunes, 23 de junio de 2008 22:26
  • Comentarles sobre las aplicaciones para Pocket PC, toda aplicacion que se ejecute en un emulador con base de datos sera ejecuta de la siguiente manera

    1. Creas la aplicacion para pocket Pc con SQL Mobile
    2. Cuando corres la aplicación Visual Studio te monta una base de datos en el dispositivo en la url   
        "Mi dispositivo/Archivos de programa/Nombre de la aplicación" esta es la que sufrira los cambios
       cuando este probando tu aplicación en el emulador
    3. Revisa la base de datos en esta url para confirmar si te esta funcionando en
        "Mi dispositivo/Archivos de programa/Nombre de la aplicación"
    4.Si revisas la base de datos en tu PC no ha sufrido cambios solo cambia la montada en el dispositivo.

    estoy a la orden por cualquier consulta ya que fue un dolor de cabeza encontrar como funcionaba

    Saludos
    Dionicio
    • Propuesto como respuesta Dionicio Calles domingo, 5 de abril de 2009 21:02
    domingo, 5 de abril de 2009 21:02
  • Muchas Gracias Edilgardo me has resuelto un gran problema tenia mas de un mes tratando de resolver este problema, te lo agrdesco mucho.
    viernes, 24 de septiembre de 2010 1:33
  • Me acaba de pasar también esto y tu sugerencia me funcionó, muchas gracias

    cyndyrdz

    jueves, 24 de octubre de 2013 17:56