Look into using iBATIS http://www.ibatis.com. It's easy to use and will
handle this kind of dynamic SQL very nicel (the PDF instruction manual
is nice. Look at the SQL Maps documentatoin under Dynamic Mapped
Statements.)
Sean Burlington wrote the following on 5/9/2005 10:37 AM:
> 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);
>
--
Rick
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
|