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 <iostream><br />#include <conio.h><br />#include <windows.h><br />#include <mysql/mysql.h><br />using namespace std;<br />char menu();//declaracion de funciones (valor_devuelto nombre_funcion(argumento1,...);)<br />int insertar(MYSQL conexion, char* consulta);<br />int alta(char* consulta);<br />int mostrar_datos(char* consulta,MYSQL_RES** resultado);<br /><br />int main(int argc, char *argv[])//funcion que crea la conexion-->argumento puntero<br />{<br />MYSQL_RES *resultado;<br />MYSQL_ROW fila1,fila2;<br />long num_campos;<br />int j,error=0,idparada,idruta,orden,inctiempo,incprecio;<br />char opcion,parada[30],poblacion[50],consulta[100]="\0",ruta[50],tmp[3],op;<br />do {<br /> system("cls");<br /> opcion=menu();//pedir los datos de entrada<br /> switch(opcion){ <br /> case '1': printf("\nIntroduce el nombre de parada:\n");<br /> scanf("%s", parada);<br /> printf("\nIntroduce la poblacion:\n");<br /> scanf("%s",poblacion);<br /> consulta[0]='\0';<br /> strcat(consulta,"INSERT INTO parada VALUES (null,'");//Guarda la cadena fija de la consulta en 'consulta'<br /> strcat(consulta,parada);//Concatena el valor de la variable parada q se introduce por teclado a la cadena anterior<br /> strcat(consulta,"','");<br /> strcat(consulta,poblacion);<br /> strcat(consulta,"')");//pone parentesis para cerrar consulta<br /> //INSERT INTO parada VALUES (null,'parada','poblacion')<br /> if (alta(consulta)==1)<br /> printf("\nLa parada ha sido dada de alta correctamente\n");<br /> else<br /> printf("\nLa parada no ha podido ser dada de alta\n");<br /> system("PAUSE");<br /> break;<br /> case '2': printf("\nIntroduce el nombre de la ruta:\n");<br /> scanf("%s", ruta);<br /> consulta[0]='\0';//final de caden en 1ª posición (inicializar vector)<br /> strcat(consulta,"INSERT INTO ruta VALUES (null,'");<br /> strcat(consulta,ruta);<br /> strcat(consulta,"')");<br /> //insert into ruta values (null,'ruta')<br /> if (alta(consulta))<br /> printf("\nLa ruta ha sido dada de alta correctamente\n");<br /> else<br /> printf("\nLa ruta no ha podido ser dada de alta\n");<br /> system("PAUSE");<br /> break;<br /> case '3': consulta[0]='\0';<br /> error=0;<br /> strcat(consulta,"SELECT * FROM parada");<br /> if (mostrar_datos(consulta,&resultado)==1){<br /> if(!mysql_num_rows(resultado))<br /> error=1;//indica si se puede realizar la conexion (1 no se puede, 0 se puede)<br /> num_campos=mysql_num_fields(resultado);//muestra el nº de campos de la consulta<br /> printf("\nPARADAS:\n");<br /> while(fila1=mysql_fetch_row(resultado)){//valores de las paradas<br /> for(j=0;j<num_campos;j++){ ruta="" guarda="" consulta="" error="1;" pide="" datos="" tabla="" id="" numero="" orden="" en="" tiempo="" parada="" nintroduce="" el="" incremento="" precio="" la="" d="" insert="" into="" values="" sido="" else="" nel="" no="" ha="" podido="" ser="" dado="" de="" ver="" los="" ya="" select="" strcat="" incprecio="" from="" itinerario="" where="" idparada="parada_idparada" and="" idruta="ruta_idruta" if="" num_campos="mysql_num_fields(resultado);" fila2="mysql_fetch_row(resultado)){" j="0;j<num_campos;j++){" t="" nquieres="" pulsa="" 0="" para="" n="" pause="" return="" int="" mysql="" char="" do="" n1="" paradas="" n2="" rutas="" n3="" alta="" itinerarios="" n0="" salir="" while="" op="='0'){"><'0'|| op>'3');<br />return op;<br />}<br />//realizar la conexion<br />int alta(char* consulta){<br /> MYSQL conexion;<br /> mysql_init(&conexion);<br /> if((mysql_real_connect(&conexion,"localhost","root","8722","estacion_autobuses",MYSQL_PORT,NULL,0))==NULL)<br /> return 0;<br /> else if (mysql_query(&conexion, consulta)!=0){<br /> mysql_close(&conexion);<br /> return 0; <br /> }<br /> else{<br /> mysql_close(&conexion);<br /> return 1;<br /> }<br />}<br /><br />int mostrar_datos(char* consulta,MYSQL_RES** resultado){<br /> MYSQL conexion;//variable tipo mysql<br /> mysql_init(&conexion);<br /> if( (mysql_real_connect(&conexion,"localhost","root","8722","estacion_autobuses",MYSQL_PORT,NULL,0))==NULL)<br /> return 0;<br /> else if (mysql_query(&conexion, consulta)!=0){<br /> mysql_close(&conexion);<br /> return 0;<br /> } <br /> else {<br /> *resultado=mysql_store_result(&conexion);//guarda el resultado dela ultima consulta<br /> mysql_close(&conexion);<br /> return 1;<br /> }<br />}<br />
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