C# CGI UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA 10: FILTROS


Otro problema similar al anterior es el de filtros es decir en muchas ocasiones es necesario obtener información acerca de un subconjunto de renglones de la tabla.

Por ejemplo todos los estudiantes que sean mayores de 17 años, todos los clientes que sean de Tijuana, etc., a esto le llamamos filtros o condiciones.

Tambien se resuelve de manera similar al anterior, es decir usando la instrucción select etc, from tabla, where CONDICION;

Codigo prog21.html


<HTML>

<FORM ACTION=/cgi-bin/tusitio/prog21.exe METHOD=get>

EDAD > =<INPUT TYPE=text NAME=EDAD><BR>

<INPUT TYPE=submit VALUE=BUSCAR>

</FORM></HTML>

corrida prog21.html

image316.jpg

prog21.cs


using System;

using System.Data;

using System.Data.OleDb;

public class prog21

{

// creando y cargando coneccion, adpater como variables globales

static OleDbConnection coneccion;

static OleDbDataAdapter canal;

public static void Main()

{

lnet capturar=new lnet();

string edad= capturar.getparametro("EDAD");

coneccion=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\progfacil\\tusitio\\mibase.mdb");

string q="select * from mitabla where edad >= @EDAD";

canal=new OleDbDataAdapter(q, coneccion);

// clave es string porque oledbtype es quien la convierte

canal.SelectCommand.Parameters.Add(new OleDbParameter("@EDAD", OleDbType.Integer));

canal.SelectCommand.Parameters["@EDAD"].Value = edad;

// creando y cargando un nuevo dataset que solo contiene el

// renglo 0(cero) buscado

DataSet tabla=new DataSet();

canal.Fill(tabla, "mitabla");

// desplegando pero en tabla porque dataset tiene varios renglones

// cargando el table de html con el dataset

System.Console.WriteLine("Content-Type:text/html\n");

System.Console.WriteLine("<HTML><TABLE Border=10 CellPadding=5><TR>");

// construyendo los encabezados de la tabla

System.Console.WriteLine("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>");

// calculando la cantidad de renglones de la tabla dataset

// y empezar a estudiar las propiedades del dataset

int cren=tabla.Tables["mitabla"].Rows.Count;

// ciclo for renglon para visitar todos los renglones de la tabla dataset

// ciclo interno for columna para pasar el dato del dataset al table html

for (int reng=0; reng <= cren-1; reng++)

{ System.Console.WriteLine("<TR>");

for(int col=0; col<=2; col++)

{

// cargando el dato a una variable string para que no quede muy grande el writeline de despliegue

string temp=tabla.Tables["mitabla"].Rows[reng][col].ToString();

System.Console.WriteLine("<TD>"+temp.ToString()+"</TD>");

} //termina for col

System.Console.WriteLine("</TR>");

} // termina for renglon

System.Console.WriteLine("</HTML>");

// cerrando todo

coneccion.Close();

} }

Nota: siguen siendo combinaciones de los programas anteriores pero seria prudente mejor usar dos combobox uno para la variable, otro para el operador relacional y un text para el dato y mandar estos tres datos al prog21.exex (se ocupan varios command.parameters()), pero eso queda de tarea.

Corrida prog21.cs o exe

image317.jpg

Problemas sugeridos:

1.- preparar programas de filtrado para sus bases de datos, recordar que sus formas html's deben construirlas con 2 combos y un text, suerte

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad