UNIDAD 7: INTRODUCION A LAS BASES DE DATOS
TEMA LINUX GCC 8: INSERCION O ADICION DE REGISTROS
Insertar o agregar registros o renglones nuevos a una tabla en disco, es un proceso sencillo que usa la siguiente instrucción sql:
INSERT INTO TABLA(CAMPO1,CAMPO2..) VALUES(VALOR1,VALOR2..);
Recordar que solo se esta usando lo minimo de cada instrucción sql, es conveniente estudiar un tutorial de sql.
Prog38.html
<HTML> <FORM ACTION=http://192.168.1.251/~tusitio/cgi-bin/prog38.cgi METHOD=POST> NO SE CAPTURA CLAVE, DEBE SER ASIGNADA POR EL SISTEMA<BR> NOMBRE..:<INPUT TYPE=text NAME=NOMBRE><BR> EDAD....:<INPUT TYPE=text NAME=EDAD><BR> ESTATURA:<INPUT TYPE=text NAME=ESTATURA><BR> <INPUT TYPE=submit VALUE=INSERTAR> </FORM></HTML>
corrida prog38.html
prog38.cpp
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
#include <lcnet.h>
#include <mysql.h>
using namespace std;
int main()
{
// crando variables globales
MYSQL coneccion;
// construyendo pagina
cout << "Content-type: text/html\n\n";
cout << "<html>" << 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 insert query
char q[200], nombre[30];
strcpy(nombre, getstring("NOMBRE").c_str() );
strcpy(q,"INSERT INTO mitabla (nombre,edad,estatura) VALUES ( \"" );
strcat(q,nombre);
strcat(q," \", ");
char temp[20];
strcpy(temp, getstring("EDAD").c_str() );
strcat(q,temp);
strcat(q,",");
strcpy(temp, getstring("ESTATURA").c_str() );
strcat(q,temp);
strcat(q,") ");
cout << q << endl;
if ( mysql_query(&coneccion,q) !=0)
{cout << "error en insert " <<endl;
} else cout << "registro insertado " << endl;
mysql_close(&coneccion);
cout << "</html>" << endl;
exit(0);
}
corrida prog38.cpp
notas:
el programa esta bien documentado:
Se crea la string q con el formato apropiado sql( como se dijo al principio de este tema).
Observar que solo se usa mysql_query() y no se ocupa mysql_store_result() porque este proceso no regresa nada de la tabla en disco.
TAREAS PROGRAMACION LINUX GCC PROGRAMACION LINUX GCC :
1.- construir muchos programas de inserccion en las tablas de las bases de datos que tengan construidas