+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

query che non aggiorna il db

  1. #1
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Ho sviluppato un rubrica contenente 2 tabelle privati e servizi con access,niente di che ma ho questo problema che non riesco a capire da dove provenga.
    Spiego il tutto:
    in fase di debug e release nessun problema il campo di un record si aggiorna senza problema e posto l'immagine giusto per capire...
    Nome:   pic1.JPG
Visite:  64
Grandezza:  24.4 KB
    Come si può vedere, il button modifica esegue questo codice:
     Try
                Dim Builder As OleDbCommandBuilder = New OleDbCommandBuilder(ap)
                ap.Update(dts, "servizi")
                MessageBox.Show("Aggiornamento Effettuato con Successo.", "Aggiornamento", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Catch ex As OleDbException
                MessageBox.Show(ex.Message)
            End Try
    
    e questo avviene,come detto prima,sia in modalità debug che release,ora invece nella versione
    installata sul mio pc,avviene questo:
    Nome:   pic2.JPG
Visite:  63
Grandezza:  26.2 KB
    eppure è lo stesso codice...
    le tabelle hanno un campo contatore con chiave primaria,cosa può dargli fastidio?
    ℹ️ Leggi di più su sistemista ...

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,482
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Ma come è fatta questa query?
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Post
    6,232
    Like Inviati  
    19
    Like Ricevuti  
    11
    Quote Originariamente inviato da sistemista Visualizza il messaggio
    ora invece nella versione
    installata sul mio pc
    Ma qual'è il percorso del database?
    ℹ️ Leggi di più su gibra ...

  4. #4
    Post
    1,900
    Blogs
    21
    Like Inviati  
    14
    Like Ricevuti  
    13
    sembra il classico mistero della fogna otturata.

    verifica anche che la query sia identica nei vari db
    ℹ️ Leggi di più su sspintux ...

  5. #5
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Ma qual'è il percorso del database?
    nella stessa directory dell'applicazione Programmi(x86)\Agenda\database acces.mdb
    voglio precisare che sotto programmi(x86) ho anche altri software sviluppati con le identiche procedure.
    questa la tabella incriminata
    Nome:   servizi.JPG
Visite:  57
Grandezza:  22.8 KB
    come si può vedere il contatore ha la chiave primaria,quindi,come ho già fatto con altri software la stessa procedura funzionante come da codice....
    Apro il database e gli passo il riferimento della cartella da caricare nel dataset
     Public Sub ApriDataBase(ByVal tabella)
            Try
                dts = New DataSet
                ' dts.Clear()
                connettiStringa = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & splFold & "\DBPrivatiServizi.mdb"
                objConn = New OleDbConnection(connettiStringa)
                sql = "SELECT * FROM " & tabella
                ap = New OleDbDataAdapter(sql, objConn)
                ap.SelectCommand.CommandText = sql
                ap.SelectCommand.Connection = objConn
                objConn.Open()
                ap.SelectCommand.ExecuteNonQuery()
                ap.Fill(dts, tabella)
            Catch OleDbExceptionErr As OleDbException
                MessageBox.Show(OleDbExceptionErr.Message)
            End Try
        End Sub
    
    e quì il comando per aggiornare il dataset che secondo lui è un problema in quanto non è una query aggiornabile..boh...con gli altri software ho fatto la stessa procedura e funzionano
      Try
                Dim Builder As OleDbCommandBuilder = New OleDbCommandBuilder(ap)
                ap.Update(dts, "servizi")
                MessageBox.Show("Aggiornamento Effettuato con Successo.", "Aggiornamento", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Catch ex As OleDbException
                MessageBox.Show(ex.Message)
            End Try
    
    non riesco a capire perchè in fase di debug e release funziona e quando viene installato non funziona.
    ora provo a togliere il try catch e vediamo se vi sono altri errori.
    ℹ️ Leggi di più su sistemista ...

  6. #6
    Post
    1,900
    Blogs
    21
    Like Inviati  
    14
    Like Ricevuti  
    13
    questa riga mi sembra strana:

    ap.SelectCommand.ExecuteNonQuery()
    
    a che serve ?
    ℹ️ Leggi di più su sspintux ...

  7. #7
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Quote Originariamente inviato da sspintux Visualizza il messaggio
    questa riga mi sembra strana:

    ap.SelectCommand.ExecuteNonQuery()
    
    a che serve ?
    È possibile utilizzare ExecuteNonQuery per eseguire operazioni di catalogo, ad esempio l'esecuzione di query sulla struttura di un database o la creazione di oggetti di database quali tabelle, oppure per modificare i dati in un database senza utilizzare un oggetto eseguendo DataSet istruzioni Update, INSERT o DELETE.
    Comunque sia, in fase di debug funziona perfettamente se installato no, ma devo fare una precisazione, che comunque non cambia niente penso,il dataset viene collegato al datagridview che se non modifico nessuna riga o cella e premo salva modifica,esegue l'aggiornamento senza dare errori,quindi riepilogando,se il datagridview è collegato al dataset e premo su salva modifica aggiorna con il comando di cui nel post precedente il che equivale che la query è aggiornabile ma se vado a modificare una cella, per esempio voglio cambiare l'e-mail dell'utente e poi premo salva modifica, allora da errore..non sò più che pensare.
    Ultima modifica di sistemista; 03-02-2021 13:18 
    ℹ️ Leggi di più su sistemista ...

  8. #8
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Allora,dopo tanto scervellamento ho risolto il problema.
    Era una questione di permessi,difatti andando a vedere nella cartella dove è installato il software avevo solo i permessi di lettura ed esecuzione ma non di scrittura,cambiato i permessi tutto ok.
    Ultima modifica di sistemista; 03-02-2021 14:08 
    ℹ️ Leggi di più su sistemista ...

  9. #9
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Post
    6,232
    Like Inviati  
    19
    Like Ricevuti  
    11
    Quote Originariamente inviato da sistemista Visualizza il messaggio
    Era una questione di permessi,
    Ecco perché ti ho chiesto il percorso, ed infatti era quello che temevo.
    In realtà NON è un problema di permessi, ma di percorso non abilitato.

    Ormai è da anni (dall'era di Windows Vista!) che non si hanno più i permessi di scrittura (e a volte nemmeno di lettura) nella cartelle cosiddette 'di sistema' tra qui le cartelle Programmi (32 e 64 bit).

    I file soggetti a scrittura/lettura devono essere installati in apposite cartelle predefinite.

    Giusto per la cronaca
    Tu hai potuto risolvere perché se Amministratore ed hai il TUO computer sottomano, ma quando si distribuiscono applicazioni bisogna attenersi scrupolosamente alle 'nuove' (per modo di dire) linee guida di Microsoft, perché gli utenti possono non essere sempre amministratori (nelle aziende quasi nessuno lo è più) ma anche lo fossero non sanno dove mettere le mani (ovviamente).
    Ed i clienti (aziende) si arrabbiano.
    ℹ️ Leggi di più su gibra ...

  10. #10
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    Ok.Grazie per l'informazione.
    ℹ️ Leggi di più su sistemista ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 1
    Ultimo Post: 06-04-2015, 21:58
  2. Risposte: 2
    Ultimo Post: 20-07-2014, 19:33
  3. Risposte: 0
    Ultimo Post: 16-06-2010, 17:00
  4. Come si aggiorna il db?
    Da massimo74rn nel forum Visual Basic .Net
    Risposte: 9
    Ultimo Post: 19-02-2006, 18:25
  5. non aggiorna
    Da sharkey nel forum Microsoft Word
    Risposte: 1
    Ultimo Post: 21-09-2004, 18:52