As far as the implementation goes, there is no reason to be scared of
switches and loops. (But favor polymorphism/virtual functions over a
giant loop.) However, you should get rid of all those concat operators
and use StringBuffer.append instead. The performance will improve
significantly.
Erik
Sean Burlington wrote:
Hi all,
this is such a common problem that I'm sure there must be loads of
advice on how to deal with it - I just can't find it.
I have a database containing many records
Searches can be performed on several text fields - and refined by
boolean fields.
The html form thus consist of several text inputs and several checkboxes.
Only one text box should ever be filled in.
I can work out the resultant sql query by using lots of if statements
as below but it just doesn't seem very elegant ...
I could also break the search down into several forms and so different
actions - but this seems overly complex.
String query = "select order from po where";
String searchTerm = "";
if (!"".equals(search.getCode())){
query += " code=?";
searchTerm = search.getCode();
} else if (!"".equals(search.getParish())){
query += " parish=?";
searchTerm = search.getParish();
} else if (!"".equals(search.getDetails())){
query += " details=?";
searchTerm = search.getDetails();
}
if (search.isActiveMods()){
query += " and active";
}
if (search.isActiveReclass()){
query += " and reclass";
}
PreparedStatement statement = conn.prepareStatement(query);
statement.setString(1, searchTerm);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]