UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA LINUX GCC 9: BUSQUEDA

En este TEMA LINUX GCC se analiza la busqueda de un registro o renglón determinado en este proceso el usuario del programa quiere que se despliegue un y solo un registro de información proporcionando un dato de busqueda generalmente la clave del registro.

La solucion es sencilla, solo usar otra vez la instruccion select, con el siguiente formato:

SELECT [ *, all, campos] FROM TABLA WHERE clave=claveabuscar;

les recuerdo que deben buscar y estudiar un buen tutorial de sql.

Codigo prog39.html

<HTML>
<FORM ACTION=http://192.168.1.251/~tusitio/cgi-bin/prog39.cgi METHOD=POST>
CLAVE A BUSCAR :<INPUT TYPE=text NAME=CLAVE><BR>
<INPUT TYPE=submit VALUE=BUSCAR>
</FORM></HTML>

corrida prog39.html

image121.jpg

prog39.cpp

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
#include <lcnet.h>
#include <mysql.h>
using namespace std;
int main()
{
// creando variables globales
MYSQL coneccion;
MYSQL_RES *resultset;
MYSQL_ROW renglon;
// construyendo pagina
cout << "Content-type: text/html\n\n";
cout << "<html>" << endl;
cout << "<TABLE Border=10 CellPadding=5><TR>" << endl ;
cout << "<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th>" << endl;
cout << "<th bgcolor=Red>EDAD</th><th bgcolor=Blue>ESTATURA</th> </TR>"<< endl;
// inicializando y conectando
if ( mysql_init(&coneccion) == NULL)
cout << "error inicializando" << endl;
if ( mysql_real_connect(&coneccion,"localhost","USUARIO","PASSWORD","mibase",0,NULL,0) == NULL )
cout << "error conectando" <<endl;
// construyendo select query
char q[200], temp[20];
strcpy(q,"select * from mitabla where clave = ") ;
strcpy(temp, getstring("CLAVE").c_str() );
strcat(q,temp);
if ( mysql_query(&coneccion,q) !=0) cout << "error en select" <<endl;
// cargando el resultset con la tabla en disco
resultset = mysql_store_result(&coneccion);
if ( resultset==NULL) cout << "error en resultset" << endl;
// construyendo tabla html de despliegue
// y usando algunas funciones de mysql_
for(int r=1; r <= mysql_num_rows(resultset); r++)
{ renglon = mysql_fetch_row(resultset);
cout << "<TR>" << endl ;
cout << "<TD>" << renglon[0] << "</TD>" << endl;
cout << "<TD>" << renglon[1] << "</TD>" << endl;
cout << "<TD>" << renglon[2] << "</TD>" << endl;
cout << "<TD>" << renglon[3] << "</TD>" << endl;
cout << "</TR>" << endl ;
};
// liberando la memoria del servidor del resultset
mysql_free_result(resultset);
mysql_close(&coneccion);
cout << "</table></html>" << endl;
exit(0);
}

nota: no hay nada nuevo es una combinación de los dos programas anteriores con las mismas notas solo se usa un input text para pedir la clave aunque se puede usar cualquier campo para buscar.

Tambien recordar que el resultset despues de la busqueda solo queda cargado con el renglón que el store_result() se trajo de la base de datos.

Corrida prog39.cgi

image123.jpg

TAREAS PROGRAMACION LINUX GCC PROGRAMACION LINUX GCC :

1.- hacer programas de busquedas para las bases y tablas que tengan

Politica de Privacidad