n° 185
Maggio/Giugno 2013
Maggio 26, 2013, 12:20:38 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  

* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Prepared Statement e BETWEEN  (Letto 655 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
SHARKSEAL
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 46


Mostra profilo
« inserita:: Giugno 12, 2012, 09:54:00 pm »

Ciao a tutti

E' possibile eseguire una query con condizioni multiple che selezioni tra due date usando un PreparedStatement?

Esempio:  dovrei selezionare dei movimenti compresi tra due date di un determinato codice cliente (idcliente) e con un determinato conto (idConto)

SELECT * FROM movimenti WHERE (idCliente = (?) AND idConto = (?)) BETWEEN dataInizio AND dataFine

una cosa del genere in PreparedStatement

Se è possibile ... qual'è la sintassi piu corretta e performante ??

Grazie a tutti
Registrato
ctraversa
Jr. Member
**

Karma: +14/-7
Scollegato Scollegato

Messaggi: 155


Mostra profilo
« Risposta #1 inserita:: Giugno 13, 2012, 09:00:04 am »

credo tu voglia dire
SELECT * FROM movimenti WHERE idCliente = ? AND idConto = ? AND data_movimento BETWEEN ? AND ?
Registrato
SHARKSEAL
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 46


Mostra profilo
« Risposta #2 inserita:: Giugno 14, 2012, 12:50:38 am »

Grazie ctraversa

Avevo provato come mi hai suggerito ma mi da il seguente errore:

Multiple markers at this line
   - The left-hand side of an assignment must be a variable
   - Syntax error, insert "AssignmentOperator Expression" to complete Expression
   - Syntax error on tokens, ReferenceType expected instead

Ecco il perchè della mia domanda
Registrato
ctraversa
Jr. Member
**

Karma: +14/-7
Scollegato Scollegato

Messaggi: 155


Mostra profilo
« Risposta #3 inserita:: Giugno 14, 2012, 10:45:25 am »

Supponendo che tu già abbia un'istanza dell'oggetto Connection diciamolo conn, in JAVA il PreparedStatement lo usi così:

Codice:
String qry = "SELECT * FROM movimenti WHERE idCliente = ? AND idConto = ? AND data_movimento BETWEEN ? AND ?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString (1, cliente);
ps.setString (2, conto);
ps.setDate (3, dataDa);
ps.setDate (4, dataAl);
ResultSet rs = ps.executeQuery();
while (rs.next()){
    //qui ti leggi e memorizzi i dati
}
rs.close(); //IMPORTANTE - Non sottovalutare mai la chiusura dei ResultSet e dei PreparedStatement
ps.close();

Ovviamenti cliente, conto, dataDa e dataAl sono variabili che vengono valorizzate dall'input dei dati
Per gli altri linguaggi il meccanismo è lo stesso


Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2011 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page