esto hago yo, tengo un formulario donde escogo por, campo, ascendente o descendente, y tambien le pongo un like, recuerda que una consulta SQL es un STRING y como tal pe puedes concatenar mas string cosa de obtener una consulta para tu completa satiusfaccion
este es el formulario.
Código HTML:
<form name="ingreso" method="post" action="criterios.jsp">
<select name="producto">
<option>ID_ARTICULO</option>
<option>NOMBRE</option>
<option>DESCRIPCION</option>
<option>PRECIO</option>
</select>
<br>
<br>
<input type="radio" name="ordenamiento" value="1" checked="checked">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">orden Ascendente
<input type="radio" name="ordenamiento" value="2">
orden Descendente
<br>
<br>
que contengan
<input type="text" name="texto">
</font> <br>
<br><input type="submit" value="buscar">
</form>
luego de eso hago la recepcion del formulario y creo la consulta con las opciones que especifique en el formulario.
Código:
if(request.getParameter("producto") != null)
{
//PREPARACION DE LA CONSULTA
String producto=request.getParameter("producto");
String query="SELECT * FROM ARTICULOS";
String tipo;
if(request.getParameter("texto") != null)
{
String texto=request.getParameter("texto");
query=query+" WHERE "+producto+" LIKE '%"+texto+"%'";
}
query=query+" ORDER BY "+producto+"";
if(request.getParameter("ordenamiento").equals("1"))
{
//orden ascendente
tipo= "ASC";
}
else
{
//orden descendente
tipo= "DESC";
}
query=query+" "+tipo;
/// TERMINO DE LA CREACION DE LA CONSULTA.
String url = "jdbc:odbc:DATOS";
int i,sw=0;
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection (url, "my-user", "my-passwd");
DatabaseMetaData dma = con.getMetaData ();
Statement stmt = con.createStatement ();
ResultSet rs = stmt.executeQuery (query);
lo demas creo q lo conoces..
sldos