UNIDAD 5: VISUAL C++ INTRODUCION A LAS BASES DE DATOS

TEMA 10: FILTROS VISUAL C++ CGI

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

Por ejemplo todos los estudiantes que sean mayores de 17 anos, 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 instruccion 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.cpp


#using <mscorlib.dll>

#using <System.dll>

#using <System.Data.dll>

#using <System.Xml.dll>

#using <lcnet.dll>

using namespace System;

using namespace System::Data;

using namespace System::Xml;

using namespace System::Data::OleDb;

void main(){

// declarando variables globales

OleDbConnection *coneccion;

OleDbDataAdapter *canal;

DataSet *tabla;

//creando objetos necesarios

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

tabla = new DataSet();

//capturando clave a buscar

String *edad=lcnet::getparametro("EDAD");

// terminando de encadenar la string q

String *q=String::Concat("select * from mitabla where edad >= ",edad);

// y ordenando la salida revisar tutorial de sql

q = String::Concat(q, " order by nombre desc");

canal = new OleDbDataAdapter(q, coneccion);

canal->Fill(tabla, "mitabla");

// contruyendo una tabla html de salida

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

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

// construyendo los encabezados de la tabla

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->Item["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 r=0; r <= cren-1; r++)

{ Console::WriteLine("<TR>");

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

{

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

String *temp = tabla->Tables->Item["mitabla"]->Rows->Item[r]->Item[c]->ToString();

Console::WriteLine("<TD>");

Console::WriteLine(temp);

Console::WriteLine("</TD>");

} //termina for col

Console::WriteLine("</TR>");

} // termina for renglon

Console::WriteLine("</HTML>");

} // fin main

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.exe (se ocupan varios command.parameters() pero eso queda de tarea.

Corrida prog21.cpp o exe

image454.jpg

TAREAS PROGRAMACION VISUAL C++ :

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