Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    15

    Query parametriche

    ciao a tutti

    non riesco a trovare da nessuna parte la sintassi esatta per effettuare delle query parametriche in java usando mySQL, qualcuno mi potrebbe dare qualche consiglio o postarmi qualche link?

    grazie a tutti

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Hai due possibilità: o credi la stringa SQL in modo dinamico (non è sempre possibile!!):
    codice:
    String sql = "SELECT * FROM Tabella WHERE campo = '" + valoreCampo + "'";
    Oppure utilizzi PreparedStatement, che offre un'interfaccia più semplice da usare (ipotizzando che "valoreCampo" sia un intero e che la tabella preveda che "campo" sia intero):
    codice:
    String sql = "SELECT * FROM Tabella WHERE campo = ?";
    PreparedStatement pstmt = conn.prepareStatement( sql );
    pstmt.setInt(1, valoreCampo);
    Quindi invocherai il metodo executeQuery() sull'oggetto PreparedStatement.
    Quest'ultima opzione ti consente di utilizzare campi Blob e di altro tipo in modo semplice e veloce.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    15
    grazie mile..

    ma non esiste anche un metodo con i Parameters, il mio problema è evitare la SQLinjection in un sistema di login..

    grazie

  4. #4
    Per evitare SQL injection devi controllare con delle procedure il valore passato in input. Per esempio, verifichi che il valore di login non sia tale da permettere injection. In generale pero' utilizzando il secondo approccio non dovresti avere questo tipo di problemi, in quanto non costruisci la stringa in maniera "testuale".
    Saluti,
    Pasquale Congiustì.

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.