skip to main
|
skip to sidebar
Código Gratuito
martes, 25 de septiembre de 2007
Como conectar desde C: con una base de datos SQL (código completo, funciona a la perfección)(tienes que suprimir los br. Si no lo puedes copiar, te lo mando por mail.
#include
#include
#include
#include
using namespace std;
char menu();//declaracion de funciones (valor_devuelto nombre_funcion(argumento1,...);)
int insertar(MYSQL conexion, char* consulta);
int alta(char* consulta);
int mostrar_datos(char* consulta,MYSQL_RES** resultado);
int main(int argc, char *argv[])//funcion que crea la conexion-->argumento puntero
{
MYSQL_RES *resultado;
MYSQL_ROW fila1,fila2;
long num_campos;
int j,error=0,idparada,idruta,orden,inctiempo,incprecio;
char opcion,parada[30],poblacion[50],consulta[100]="\0",ruta[50],tmp[3],op;
do {
system("cls");
opcion=menu();//pedir los datos de entrada
switch(opcion){
case '1': printf("\nIntroduce el nombre de parada:\n");
scanf("%s", parada);
printf("\nIntroduce la poblacion:\n");
scanf("%s",poblacion);
consulta[0]='\0';
strcat(consulta,"INSERT INTO parada VALUES (null,'");//Guarda la cadena fija de la consulta en 'consulta'
strcat(consulta,parada);//Concatena el valor de la variable parada q se introduce por teclado a la cadena anterior
strcat(consulta,"','");
strcat(consulta,poblacion);
strcat(consulta,"')");//pone parentesis para cerrar consulta
//INSERT INTO parada VALUES (null,'parada','poblacion')
if (alta(consulta)==1)
printf("\nLa parada ha sido dada de alta correctamente\n");
else
printf("\nLa parada no ha podido ser dada de alta\n");
system("PAUSE");
break;
case '2': printf("\nIntroduce el nombre de la ruta:\n");
scanf("%s", ruta);
consulta[0]='\0';//final de caden en 1ª posición (inicializar vector)
strcat(consulta,"INSERT INTO ruta VALUES (null,'");
strcat(consulta,ruta);
strcat(consulta,"')");
//insert into ruta values (null,'ruta')
if (alta(consulta))
printf("\nLa ruta ha sido dada de alta correctamente\n");
else
printf("\nLa ruta no ha podido ser dada de alta\n");
system("PAUSE");
break;
case '3': consulta[0]='\0';
error=0;
strcat(consulta,"SELECT * FROM parada");
if (mostrar_datos(consulta,&resultado)==1){
if(!mysql_num_rows(resultado))
error=1;//indica si se puede realizar la conexion (1 no se puede, 0 se puede)
num_campos=mysql_num_fields(resultado);//muestra el nº de campos de la consulta
printf("\nPARADAS:\n");
while(fila1=mysql_fetch_row(resultado)){//valores de las paradas
for(j=0;j
<'0'|| op>'3');
return op;
}
//realizar la conexion
int alta(char* consulta){
MYSQL conexion;
mysql_init(&conexion);
if((mysql_real_connect(&conexion,"localhost","root","8722","estacion_autobuses",MYSQL_PORT,NULL,0))==NULL)
return 0;
else if (mysql_query(&conexion, consulta)!=0){
mysql_close(&conexion);
return 0;
}
else{
mysql_close(&conexion);
return 1;
}
}
int mostrar_datos(char* consulta,MYSQL_RES** resultado){
MYSQL conexion;//variable tipo mysql
mysql_init(&conexion);
if( (mysql_real_connect(&conexion,"localhost","root","8722","estacion_autobuses",MYSQL_PORT,NULL,0))==NULL)
return 0;
else if (mysql_query(&conexion, consulta)!=0){
mysql_close(&conexion);
return 0;
}
else {
*resultado=mysql_store_result(&conexion);//guarda el resultado dela ultima consulta
mysql_close(&conexion);
return 1;
}
}
Entradas más recientes
Inicio
Suscribirse a:
Entradas (Atom)
Archivo del blog
▼
2007
(1)
▼
septiembre
(1)
Como conectar desde C: con una base de datos SQL ...
Datos personales
Dr. Adolfo de la Peña Llerandi
Geriatra Clínico
Ver todo mi perfil