none
Ayuda para Actualizar Base de Datos Acces 2007 en Visual Studio 2008 Profesional RRS feed

  • Pregunta

  • Hola foro MSDN ne cesito su ayuda estoy creando un proyecto en visual studio 2008 con una base de datos acces 2007, el problema que tengo es que no logro actualizar la base de datos, el en lace a la base de datos lo hice con el diseñador y al al insertar los campos al formulario me origino un dataset, tableadapter, tableadaptermanager, bindingnavigator y un bindingsource por lo que al agregar un nuevo registro si lo hace en el momento de ejecucion pero no actualiza la base de datos,tambien lo he intentado con un dagridview, el codigo para actualizar la base de datos es uno que copie de este foro,  espero su ayuda, Gracias.
    miércoles, 15 de septiembre de 2010 18:10

Todas las respuestas

  • Hola. ¿Podrías poner un ejemplo del código que utilizas para actualizar tu
    base de datos?
     
    Saludos.
     
     
     


    Fernando Gómez
    fermasmas.wordpress.com
    lunes, 20 de septiembre de 2010 17:42
  • hola fernando gracias por responder, el codigo que utilizo es igual al que copie de este foro pero con diferente nombre en la base de datos y la tabla, el codigo que agrego al boton para actualizar la base de datos es:

    Try
    
      Me
    .Validate()
      Me
    .CustomersBindingSource.EndEdit()
      Me
    .CustomersTableAdapter.Update(Me
    .NorthwindDataSet.Customers)
      MsgBox("Update successful"
    )
    
    Catch
     ex As
     Exception
      MsgBox("Update failed"
    )
    End
     Try
    
    
    jueves, 23 de septiembre de 2010 0:42
  • Hola fernando en mi formulario estoy usando  3 texbox para la manipulacion de los datos ya estan enlazados a la base de datos,  elcodigo general del proyecto es el siguiente espero me puedas ayudar:

    Imports System.Data.OleDb
    Public Class Form1
       
        Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            Me.ClientesBindingSource.EndEdit()
            Me.ClientesTableAdapter.Update(MisclientesDataSet.clientes)
        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
           
            'TODO: esta línea de código carga datos en la tabla 'MisclientesDataSet.clientes' Puede moverla o quitarla según sea necesario.
            Me.ClientesTableAdapter.Fill(Me.MisclientesDataSet.clientes)

        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles actualizar.Click
            'Este es el codigo para actualizar la base de datos:
            Try
                Validate()
                ClientesBindingSource.EndEdit()
                ClientesTableAdapter.Update(MisclientesDataSet.clientes)
                MsgBox("Update successful")
            Catch ex As Exception
                MsgBox("Update failed")
            End Try

        End Sub
    End Class

    jueves, 23 de septiembre de 2010 21:06
  • "Fonso_100" escribió:

    > estoy creando un proyecto en visual studio 2008 con una base de datos acces 2007,
    > el problema que tengo es que no logro actualizar la base de datos, ...

    Hola:

    El problema entiendo que no es del código que estás ejecutando, si no de la ruta de la base de datos que estás intentando actualizar.

    A la hora de crear el origen de datos, ¿has indicado copiar el archivo de Access al proyecto y modificar la conexión? Si la respuesta es afirmativa, haz lo siguiente:

    - Selecciona la ventana Explorador de soluciones.

    - Selecciona el archivo de Access y pulsa la tecla F4.

    - En la propiedad Copiar en el directorio de resultados, selecciona la opción «Copiar si es posterior».

    Mira a ver si con estas modificaciones puedes ver los nuevos registros añadidos al ejecutar de nuevo el proyecto en el IDE de Visual Studio.

    Vamos a suponer que a la hora de crear la base de datos, has seleccionado la base de datos de Access 2007 que se encuentra en

        C:\Mis documentos\Database1.accdb

    Ese será el valor que tenga el parámetro «Data Source» de la cadena de conexión, y será en esa base donde se produzcan las actualizaciones que efectúes mientras diseñas tu aplicación en el IDE de Visual Studio.

    Pero si has decidido añadir la base de datos al proyecto, entonces las modificaciones se efectuarán en la base de datos existente en la carpeta Debug o Release, dependiendo de la configuración que estés ejecutando en el IDE de Visual Studio. Si posteriormente haces modificacones en la base de datos original, es decir, en la base de datos existente en la carpeta

          C:\Documents and Settings\Fonso_100\Mis documentos\
          Visual Studio 2008\Projects\NombreProyecto\Database1.accdb

    Cuando pulses de nuevo F5 en el IDE de Visual Studio, se copiará de nuevo la base de datos original en la carpeta Debug o Release, sustituyendo sin previo aviso a la existente en la carpeta de resultados.

    De todas maneras este comportamiento sólo sucede cuando estás ejecutando tu aplicación desde el propio IDE de Visual Studio. Una vez que finalices tu aplicación y ejecutes directamente el archivo ejecutable, la base de datos que se tomará será aquella que se encuentre en la misma carpeta que el archivo EXE de tu aplicación, siempre y cuando hayas añadido la base de datos al proyecto, como así parece ser que ha sucedido.

    Piensa que mientras te encuentras en el IDE de Visual Studio, se comprende que estás diseñando tu aplicación, y esas inserciones de datos o actualizaciones de los mismos que efectúas, son a modo de prueba o ensayo. Si no deseas que sea así, entonces tienes que efectuar las modificacones en la base de datos original, es decir, la existente en

          C:\Documents and Settings\Fonso_100\Mis documentos\
          Visual Studio 2008\Projects\NombreProyecto\Database1.accdb

    para que no se pierdan las modificaciones efectuadas cuando pulsas F5 en el IDE de Visual Studio.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    sábado, 25 de septiembre de 2010 11:07
  • Hola Enrique muchas gracias por tu aporte, por fin pude resolver el problema, ahora si se actualiza la base de datos, Saludos
    lunes, 27 de septiembre de 2010 23:50
  • "Fonso_100" escribió:

    > muchas gracias por tu aporte, por fin pude resolver el problema,
    > ahora si se actualiza la base de datos

    Me alegro que mi respuesta haya servido para resolver el problema. Ahora, si lo crees conveniente, marca mi respuesta como satisfactoria para dar por finalizada ésta conversación o pregunta planteada. ¿OK?

     


    Enrique Martínez [MS MVP - VB]
    martes, 28 de septiembre de 2010 0:38
  • Me pase 2 días tratando de resolver ese mismo problema, gracias SoftJaén por la respuesta, ahora si puedo continuar mi proyecto y a Fonso_100 por poner su problema aquí
    viernes, 3 de febrero de 2012 17:34