UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA LINUX GCC 14: GRAFICOS

Campos de graficos o de imagenes, se han convertido en elementos importantes de cualquier base de datos.

Para manejar este elemento con ado-asp.net existen dos maneras:

1.- Agregar un campo BLOB a la tabla en mysql y usar instrucciones especializadas en imagenes tanto para subirlas como para desplegar la imagen.

Este metodo provoca que la base de datos crezca mucho recordar que una imagen aun de tipo jpg ocupa mucho espacio.

2.- El segundo metodo es mas sencillo, primero subir las imagenes ( de preferencia jpg) con un ftp normal a tusitio y despues usar el tag <img src> de html y ademas agregar un campo de texto llamado fotourl o foto a la tabla en mysql y grabar la direccion http de la imagen en este campo, por ejemplo http://programacionfacil.com/tusitio/pato.jpg

Despues solo cargar este tag img src en la pagina que se construira que no es otra cosa que el programa de busqueda con el despliegue del campo extra, como lo muestra el programa ejemplo.

Prog45.html

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

corrida prog45.html

image139.jpg

prog45.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 << "<TD>" << "<img src=" << renglon[4] << "></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);
}

corrida: prog45.cpp

image140.jpg

Recordar que para que no salga el campo fotourl desplegado, solo su valor cargarlo en una variable string y meterlo al img src como se hizo en el programa ejemplo.

PROYECTO CONSTRUIR UN SISTEMA LINUX GCC COMPLETO INTEGRADO CON TODAS LAS OPERACIONES USANDO AL MENOS DOS TABLAS.

tan tan el curso se acabo y esten pendiente de los proximos de perl, perlscript, javascript, jscript, php, phyton, xml, apml, net, csharp, et al

Politica de Privacidad