Ver Mensaje Individual
  #9 (permalink)  
Antiguo 20/10/2006, 11:50
Avatar de rock_blues.NET
rock_blues.NET
 
Fecha de Ingreso: septiembre-2005
Mensajes: 207
Antigüedad: 19 años, 6 meses
Puntos: 0
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