Usuario
TableAdapter no actualiza la base de datos

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
Todas las respuestas
-
-
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.
-
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:
-
Buscar la base de datos en el "Explorador de soluciones".
-
Seleccionarla y con click derecho del mouse "Excluir del Proyecto".
-
Limpiar la solucion y cerrar el Visual Studio.
-
Ir al directorio del proyecto donde estan las carpetas "bin", "obj", los formularios y la base de datos.
-
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.
-
Abrir nuevamente el proyecto, pues ser desde alli mismo dando doble click sobre el nombre del proyecto con extension ".vbproj"
- 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".
-
En la pestaña que se abre, busca "Configuracion".
-
Click sobre la fila que esta el "Valor" aparece un boton con "..." haz click.
-
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
Ejemplo:
Code SnippetPrivate 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.
- Propuesto como respuesta Cynthia Rodriguez jueves, 24 de octubre de 2013 17:57
-
-
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 !
-
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
-
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.
-
-
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
-
-