Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di tarzan76
    Registrato dal
    Nov 2007
    residenza
    Castellammare del Golfo
    Messaggi
    33

    SQLite prepared statement con clausola WHERE

    Ciao a tutti, vorrei chiedere un consiglio.
    Il seguente codice mi inserisce dei valori in una tabella
    codice:
                   // inserting data
                      prep = connection.prepareStatement("insert into battute values(?,?,?)  ;");
                      prep.setString(1, ordin);
                      prep.setString(2, nuova);
                      prep.setString(3, nuova2);
                    //prep.setInt(4, row);
                      prep.execute();
    Ma se inserisco la condizione
    codice:
    where (rowid='row')//oppure  (rowid=row)
    ottengo l'errore
    codice:
    java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "where": syntax error)
    qual'è la sintassi corretta?

    Posso inserire anche il parametro seguente?
    codice:
    prep.setInt(4, row);
    Grazie a chiunque mi risponderà.

  2. #2
    una INSERT con la clausola WHERE?

  3. #3
    Utente di HTML.it L'avatar di tarzan76
    Registrato dal
    Nov 2007
    residenza
    Castellammare del Golfo
    Messaggi
    33
    Grazie optime per la risposta, l'ho modificato perché in realtà mi serviva aggiornare una riga, ora ho scritto:
    codice:
        prep=connection.prepareStatement ("UPDATE "+tabella+"  set col_1 ='?',col_2 ='?',col_3 ='?' where rowid='?'; ");
                      
                      prep.setString(1, ordin);
                      prep.setString(2, nuova);
                      prep.setString(3, nuova2);
                      prep.setInt(4, row);
                      prep.executeUpdate();
    e ottengo il seguente errore

    codice:
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
    Sono uscito fuori da qualche indice? Come lo correggo?

  4. #4
    è un errore di java, non di db

    comunque, se queste istruzioni

    prep.setString(1, ordin);

    servono a popolare i parametri, forse l'indice parte da 0, non da 1 (quindi usa 0,1,2 invece di 1,2,3)

Tag per questa discussione

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.