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

image116.jpg

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

image117.jpg

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

Politica de Privacidad