cloutz
17-02-2012, 22:46
ciao!
sarò più breve possibile! :D
prendo dei dati da un form e, in base a cosa l'utente compila, faccio una query nel db sulle stringhe che ha inserito.
pensavo semplici if-else annidati e concatenazione di stringhe:
http://pastebin.com/zdYzhqSF
static String makeQuery(){
String Nome="";
String Cognome="PROVA";
String Soprannome="AJAJAJ";
String query= "SELECT * FROM Table WHERE ";
if (Nome.equals(""))
{
if(Cognome.equals(""))
{
if(Soprannome.equals(""));//non ha inserito niente
else//ha inserito solo soprannome
query = query + " Soprannome= '" + Soprannome + "'";
}else
{
query = query + " Cognome= '" + Cognome + "'";
if(Soprannome.equals(""));//ha inserito solo cognome
else//ha inserito cognome, soprannome
query = query + " AND Soprannome= '" + Soprannome + "'";
}
}else
{
query = query + " Nome= '" + Nome + "'";
if(Cognome.equals(""))
{
if(Soprannome.equals(""));//ha inserito solo nome
else //ha inserito nome, soprannome
query = query + " AND Soprannome= '" + Soprannome + "'";
}else{
query = query + " AND Cognome= '" + Cognome + "'";
if(Soprannome.equals(""));//ha inserito nome, cognome
else//ha inserito tutto
query = query + " AND Soprannome= '" + Soprannome + "'";
}
}
return query+";";
}
ma nella realtà dovrò gestire parecchie stringhe, la cosa diventa lunghetta.
Suggerimenti su come implementare una cosa simile, ma in modo migliore se le stringhe da controllare aumentano?
Ho la sensazione di aver preso la strada più lunga, ma la mia testa mi porta a risolverlo sempre così :mad:
Grazie!!
sarò più breve possibile! :D
prendo dei dati da un form e, in base a cosa l'utente compila, faccio una query nel db sulle stringhe che ha inserito.
pensavo semplici if-else annidati e concatenazione di stringhe:
http://pastebin.com/zdYzhqSF
static String makeQuery(){
String Nome="";
String Cognome="PROVA";
String Soprannome="AJAJAJ";
String query= "SELECT * FROM Table WHERE ";
if (Nome.equals(""))
{
if(Cognome.equals(""))
{
if(Soprannome.equals(""));//non ha inserito niente
else//ha inserito solo soprannome
query = query + " Soprannome= '" + Soprannome + "'";
}else
{
query = query + " Cognome= '" + Cognome + "'";
if(Soprannome.equals(""));//ha inserito solo cognome
else//ha inserito cognome, soprannome
query = query + " AND Soprannome= '" + Soprannome + "'";
}
}else
{
query = query + " Nome= '" + Nome + "'";
if(Cognome.equals(""))
{
if(Soprannome.equals(""));//ha inserito solo nome
else //ha inserito nome, soprannome
query = query + " AND Soprannome= '" + Soprannome + "'";
}else{
query = query + " AND Cognome= '" + Cognome + "'";
if(Soprannome.equals(""));//ha inserito nome, cognome
else//ha inserito tutto
query = query + " AND Soprannome= '" + Soprannome + "'";
}
}
return query+";";
}
ma nella realtà dovrò gestire parecchie stringhe, la cosa diventa lunghetta.
Suggerimenti su come implementare una cosa simile, ma in modo migliore se le stringhe da controllare aumentano?
Ho la sensazione di aver preso la strada più lunga, ma la mia testa mi porta a risolverlo sempre così :mad:
Grazie!!