Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Vb.Net] Database access vuoto al riavvio dell'applicazione

    Salve a tutti, sto realizzando un piccolo gestionale per un magazzino, ho il db in access e il tutto gestito tramite vb.net
    Mi collego al database tramite OLEDB con la seguente stringa:
    codice:
    Dim stringaconn As String = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=archivio.mdb"
    e riesco sia ad inserire che ad estrarre dati, ma se chiudo l'applicazione e la riapro.. il database è vuoto
    C'è qualcosa di particolare da fare? tipo salvare le modifiche al file *.mdb...

  2. #2
    Ciao, hai detto che riesci ad inserire dati, quindi le modifiche le hai già fatte... una volta fatta la "insert into" i dati sono già sul database.... a meno che tu pensi di avere inserito i dati usando un dataset che poi non hai committato...

    in sostanza...ci fai vedere il codice usato per un ciclo completo di inserimento cosi vediamo cosa c'è che non va ?
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  3. #3
    Ciao, grazie della risposta, ho inserito i dati facendo semplicemente:
    codice:
    Private Sub Aggiungi_Click(sender As Object, e As EventArgs) Handles Aggiungi.Click
            If nome_categoria.Text <> "" Then
                connessione.Open()
                query = "INSERT INTO Categorie(Nomecategoria,Genitore) VALUES(""" & nome_categoria.Text & """,0)"
                comando = New OleDbCommand(query, connessione)
                comando.ExecuteNonQuery()
                connessione.Close()
            End If
        End Sub
    dopo la insert riesco a vedere i dati, ma al riavvio il db viene svuotato...

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ma sei in fase di debug?
    non vorrei che ogni volta che lo rilanci copiasse nella cartella bin/debug la versione base del database ...
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    prova a spostare il DB in un'altra cartella e vediamo
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da PeppeCap93 Visualizza il messaggio
    Ciao, grazie della risposta, ho inserito i dati facendo semplicemente:
    codice:
    Private Sub Aggiungi_Click(sender As Object, e As EventArgs) Handles Aggiungi.Click
            If nome_categoria.Text <> "" Then
                connessione.Open()
                query = "INSERT INTO Categorie(Nomecategoria,Genitore) VALUES(""" & nome_categoria.Text & """,0)"
                comando = New OleDbCommand(query, connessione)
                comando.ExecuteNonQuery()
                connessione.Close()
            End If
        End Sub
    dopo la insert riesco a vedere i dati, ma al riavvio il db viene svuotato...
    L'errore di fondo è non aver previsto un file di configurazione in cui registrare un percorso specifico per il database, cosa che è obbligatoria e che prima o poi dovrai fare, in quanto non si installa mai il database nello stesso percorso dell'applicazione.
    La scelta della cartella di destinazione dipende dal tipo di applicazione e relativo utilizzo se Client/Server o Desktop.
    Client/Server: ci si accorda con l'amministratore di rete
    Desktop: si usa la AppData dell'utente

    Ovviamente ciò vale solo per database basati su file, come Access appunto.
    Per i database di tipo server (SQL Server, Oracle, DB2, MySQL, ...) il discorso è completamente diverso.

    Probabilmente hai aggiunto il database usando il Wizard (gioie e dolori dei programmatori!) di VB.NET, se così allora verifica l'opzione Copia nella cartella:
    http://forum.masterdrive.it/visual-b...73/#post292813

  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da gibra Visualizza il messaggio
    L'errore di fondo è non aver previsto un file di configurazione in cui registrare un percorso specifico per il database, cosa che è obbligatoria e che prima o poi dovrai fare, in quanto non si installa mai il database nello stesso percorso dell'applicazione.
    La scelta della cartella di destinazione dipende dal tipo di applicazione e relativo utilizzo se Client/Server o Desktop.
    Client/Server: ci si accorda con l'amministratore di rete
    Desktop: si usa la AppData dell'utente

    Ovviamente ciò vale solo per database basati su file, come Access appunto.
    Per i database di tipo server (SQL Server, Oracle, DB2, MySQL, ...) il discorso è completamente diverso.

    Probabilmente hai aggiunto il database usando il Wizard (gioie e dolori dei programmatori!) di VB.NET, se così allora verifica l'opzione Copia nella cartella:
    http://forum.masterdrive.it/visual-b...73/#post292813
    ho detto la stessa cosa con due parole
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    ho detto la stessa cosa con due parole
    Hai davvero molta fantasia.
    Complimenti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.