Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Java e easy php

  1. #1

    Java e easy php

    Ciao a tutti...
    Ho realizzato un applicazione java che interagisce con un database attraverso jdbc. Ho realizzato il database con phpmyAdmin , e tutto fila liscio...
    Il problema è che quando inserisco dati nel database, ed eseguo una select successivamente, non vedo i dati inseriti durante la stessa sessione.
    Se chiudo l'applicazione e la riapro invece si...
    Non so' come fare... Da cosa puo' dipendere???

  2. #2
    Ma la select che esegui è una select scritta nel programma java? Se si potrebbe essere che salvi il risultato della select in una variabile di sessione e per questo non cambia finche non ne apri una nuova.

    Le mie sono solo supposizioni..

  3. #3
    può darsi che hai disabilitato l'autocommit?
    e magari all'uscita del sistema lo fa?
    azzardo un ipotesi
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  4. #4
    Quote Originariamente inviata da Colla87 Visualizza il messaggio
    Ma la select che esegui è una select scritta nel programma java? Se si potrebbe essere che salvi il risultato della select in una variabile di sessione e per questo non cambia finche non ne apri una nuova.

    Le mie sono solo supposizioni..
    E' indifferente per il mio problema .... La select dovrebbe comunque estrarre tutti i dati.... Non solo quelli inseriti in sessioni precedenti... Il mio INSERT TO comunque funziona.... Solo che non vedo i cambiamenti finchè non chiudo l'applicazione e la riapro...

  5. #5
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    può darsi che hai disabilitato l'autocommit?
    e magari all'uscita del sistema lo fa?
    azzardo un ipotesi
    Ho provato a mettere autocommit = true per ogni connessione che apro... Ma il problema rimane....

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    bisognerebbe capire i settaggi di mysql dentro phpmyadmin, ma credo che tu abbia lasciato il default.

    Domanda (forse stupida a prima vista), tu dici che l'insert lo fa, ma che lo vedi solo dopo il riavvio.
    Sicuro che l'INSERT è fatto quando tu credi di averlo fatto?
    Un test interessante sarebbe:

    1. svuota DB
    2. inserisci dato e fermati (dovresti eseguire in debug in modo da bloccare l'operazione
    3. con un altro strumento (non il tuo programma java quindi) fare la stessa SELECT che fai da java direttamente sul db (potresti usare squirrel ad esempio )
    4. proseguire con la select dal tuo programma.

    Se il dato è inserito, dovresti vederlo da entrambi (non hai motivo per non vederlo).
    Se il dato è inserito e lo vedi da squirrel e non dal tuo programma, hai problemi con le sessioni
    Se il dato non lo vedi da entrambe le parti, termina l'INSERT con un commit (forza la persistenza).

    Sono solo ipotesi che si fanno non sapendo come apri la connessione al db, come inserisci e come fai la select (senza conoscere il codice insomma)
    RTFM Read That F*** Manual!!!

  7. #7
    Quote Originariamente inviata da valia Visualizza il messaggio
    bisognerebbe capire i settaggi di mysql dentro phpmyadmin, ma credo che tu abbia lasciato il default.

    Domanda (forse stupida a prima vista), tu dici che l'insert lo fa, ma che lo vedi solo dopo il riavvio.
    Sicuro che l'INSERT è fatto quando tu credi di averlo fatto?
    Un test interessante sarebbe:

    1. svuota DB
    2. inserisci dato e fermati (dovresti eseguire in debug in modo da bloccare l'operazione
    3. con un altro strumento (non il tuo programma java quindi) fare la stessa SELECT che fai da java direttamente sul db (potresti usare squirrel ad esempio )
    4. proseguire con la select dal tuo programma.

    Se il dato è inserito, dovresti vederlo da entrambi (non hai motivo per non vederlo).
    Se il dato è inserito e lo vedi da squirrel e non dal tuo programma, hai problemi con le sessioni
    Se il dato non lo vedi da entrambe le parti, termina l'INSERT con un commit (forza la persistenza).

    Sono solo ipotesi che si fanno non sapendo come apri la connessione al db, come inserisci e come fai la select (senza conoscere il codice insomma)
    Allora, prima di tutto ti ringrazio per la pazienza e per il fatto che mi hai aiutato molto anche non conoscendo una riga di codice... Cmq le tue supposizioni sono giuste, io ho lasciato ogni opzione col valore di default.
    Ho provato a vedere se direttamente con easyphp il database si aggiornava e la risposta è si'....
    Subito dopo la insert nel database vedo il dato inserito.... Se invece faccio una select no.... Cioè si verifica proprio la prima tua ipotesi, quella piu' assurda.... help...

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    non hai fatto la prova che pensavo.
    1. database vuoto.
    2. Scarica squirrel, dbvisualizer o quello che ti pare. L'importante è che per fare la query devi usare lo stesso driver JDBC che usi dal tuo programma java (easyphp NO, abbiamo visto che il dato lo memorizza, ma si perde con i driver JDBC).
    3. inserisci il valore dal tuo programma ma non fare la query di SELECT
    4. fai la query di SELECT con dbvisualizer (o chi per lui) e vedi il risultato

    solo così puoi capire se ti perdi nelle impostazioni del programma, se non funziona il driver o se è la tua app ad avere un baco (visto che abbiamo accertato che l'insert va a buon fine)
    RTFM Read That F*** Manual!!!

  9. #9
    Allego un esempio di insert into

    codice:
    try {
                Connection conn = DriverManager.getConnection(URL);
                // Parte per gli acquisti
                String sql = "INSERT INTO acquisto VALUES(?,?,?)";
                for (int i=0;i<data.getRowCount();i++){     
                    PreparedStatement stm = conn.prepareStatement(sql);
                    stm.setString(1,data.getValueAt(i, 0).toString());
                    stm.setString(2,cod);
                    stm.setDouble(3, Double.parseDouble(data.getValueAt(i, 2).toString()));
                    stm.executeUpdate();
                }
                //Parte per le bolle
                sql = "INSERT INTO bolla VALUES(?,?,?,?,?)";
                PreparedStatement stm = conn.prepareStatement(sql);
                stm.setString(1, cod);
                stm.setString(2, forn);
                stm.setDate(3, new java.sql.Date(y,m,g));
                stm.setString(4, can);
                stm.setString(5, fir);
                stm.executeUpdate();
                conn.close();
                JOptionPane.showMessageDialog(rootPane, "Bolla inserita con successo nel cantiere " + can);
            } catch (SQLException ex) {
                Logger.getLogger(ins_bolle.class.getName()).log(Level.SEVERE, null, ex);
            }

  10. #10
    Non ho ancora risolto...
    please help !

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.