C/Visual C - EJMEPLO DE C++ Y SQL

 
Vista:

EJMEPLO DE C++ Y SQL

Publicado por JOSE OSCAR SAMPER (2 intervenciones) el 14/02/2003 22:22:29
Saludos.

Desearia un ejemplo en c++ para poder accesar a una base de datos sql.

Gracias por anticipado.

JOSE OSCAR SAMPER IZAL
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:EJMEPLO DE C++ Y SQL

Publicado por Oscar (114 intervenciones) el 16/02/2003 21:25:04
Jose, de que forma queres acceder a una base de datos sql?, con MFC, ODBC API o con alguna libreria propietaria tipo dblibs(SQLServer) o Pro*C(Oracle)???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EJMEPLO DE C++ Y SQL

Publicado por JOSE OSCAR SAMPER (2 intervenciones) el 17/02/2003 19:12:33
Saludos.

Quiero acceder con dao.

Gracias.

JOSE OSCAR SAMPER
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EJMEPLO DE C++ Y SQL

Publicado por sorayda (1 intervención) el 09/04/2022 20:41:03
hola como estas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de SuperIndio
Val: 47
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

EJMEPLO DE C++ Y SQL

Publicado por SuperIndio (43 intervenciones) el 02/06/2022 23:52:15
Ahi va el mas simple
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
 |==========================================================================
 | demo12.c   ejemplo de superindio
 |==========================================================================
 */
 
#include <stdio.h>
#include <string.h>
#include "mysql.h"
 
int main( int argc, char *argv[] ) {
 
        MYSQL *conn;                    /* variable de conexión para MySQL                                */
        MYSQL_RES *res;                 /* variable que contendra el resultado de la consuta              */
        MYSQL_ROW  row;                 /* variable que contendra los campos por cada registro consultado */
        char *server   = "localhost";   /* direccion del servidor 127.0.0.1, localhost o direccion ip     */
        char *user     = "root";        /* usuario para consultar la base de datos                        */
        char *password = "";            /* contraseña para el usuario en cuestion                         */
        char *database = "dbcalabresa"; /* nombre de la base de datos a consultar                         */
        unsigned long  iLeng=0;
        conn = mysql_init(NULL);        /* inicializacion a nula la conexión                              */
 
        /* conectar a la base de datos                                    */
        if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
                /* definir los parámetros de la conexión antes establecidos */
                fprintf(stderr, "%s\n", mysql_error(conn)); /* si hay un error definir cual fue dicho error */
                printf("hay un error al conectar MariaDB \n");
                return(-1);
        }
 
        res = mysql_list_processes(conn);
        iLeng = mysql_fetch_lengths(res);
        printf("%l\n", iLeng );
 
        while ((row = mysql_fetch_row(res)) != NULL)
                /* printf("%s\t%s\t%s \n", row[0],row[1],row[2]);   */
                printf("%s\t%s\t%s \n", row[0],row[2],row[6]);
 
        mysql_free_result(res);
        mysql_close(conn);
}
 
/*
 |--------------------------------------------------------------------
 | c:\Mariadb\bin>mysql -h localhost -u root -p
 |
 | SHOW PROCESSLIST (command for mysq console)
 |  0   1       2      3    4         5      6       7      8
 | Id | User  | Host | db | Command | Time | State | Info | Progress |
 |--------------------------------------------------------------------
 */

LO COMPILE CON ESTE BAT
***************************
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@Echo Off
Rem  Compile options file directory path.
Set  LD_LIBRARY_PATH=C:\MinGW\lib\;C:\MinGW\local\lib\;c:\Mariadb\lib\
Set  DIRLIB=C:\Mariadb\lib
 
Set  INCMGW=C:\MinGW\Include
Set  INCSQL=C:\Mariadb\include\mysql
 
Rem  Win32 (MinGW) dynamically loaded DLL search path.
Set  PATH=C:\MinGW;C:\MinGW\bin;C:\MinGW\local\bin;c:\Mariadb\bin;c:\Mariadb\lib;%PATH%
 
Rem  Temporary files directory path.
Set  TEMP=%TEMP%
 
Set CODC=%1.c
Set CODO=%1.o
Set CODE=%1.exe
 
Rem C:\MinGW\bin\gcc test.c -o test -Wl,-v
Rem C:\MinGW\bin\gcc -c %CODC% -o %CODO%
@Echo On
 
Rem C:\MinGW\bin\gcc %CODC% -o %CODE%  --verbose
echo ===================================================================
echo -I%INCMGW% -I%INCSQL%
echo ===================================================================
rem C:\MinGW\bin\gcc -I%INCMGW% -I%INCSQL%  %CODC% -o %CODE%  -lpdcurses -lpdcurses_dll  --verbose
C:\MinGW\bin\gcc -I%INCMGW% -I%INCSQL% -L%DIRLIB% -L%LD_LIBRARY_PATH% %CODC% -o %CODE%  -lmysql --verbose

tengo varios ejemplos mas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

EJMEPLO DE C++ Y SQL

Publicado por SuperIndio (43 intervenciones) el 12/06/2024 00:57:43
Mejor ejemplo que te puedo dejar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
#include <stdio.h>
#include <string.h>
 #include <malloc.h>
#include "mysql.h"
 
int mysql_exec_sql(MYSQL *mysql,const char *create_definition) ;
void GoUnitabCreate(char * cchost, char * ccbase, char * ccuser, char * ccpass);
void inicializa( char *buffer );
char *initchar();
 
int main( int argc, char *argv[] ) {
 
      char  str[80]   = {0x00};
      const char s[2] = ";";
      char *token;
 
      char ccHostName[12]={0x00};
      char ccBaseName[12]={0x00};
      char ccUserName[12]={0x00};
      char ccPassWord[12]={0x00};
 
      int i=0;
 
      printf("\ndbmGetab SQL Init dbmGetab Database on Mariadb\n");
      if( argc < 2 ) {
           printf("\nError.. Falta parametros separado entre \";\" \r\n");
           printf("Por Ejemplo:\r\n");
           printf("\n\t dbmGetab localhost;dblaweb;root;admin\r\n");
           return(-31);
      }
      for( i=1; i<argc; i=i+1 ) {
           strcat(str, argv[i]);
           printf("valores:  %s \n", str);
           /* strcat(str, " " );   */
      }
      printf("\n\nvalue of a:  %s \n", str);
 
      token = strtok(str, s);
      i = 1;
      while( token != NULL ) {
           switch(i)
           {
           case 1:         /* HOSTNAME  */
                 strcat(ccHostName, token);
                 printf( "HOSTNAME: %s\n", ccHostName );
                 break;
           case 2:         /* DATABASE  */
                 strcat(ccBaseName, token);
                 printf( "BASENAME: %s\n", ccBaseName );
                 break;
           case 3:         /* USER      */
                 strcat(ccUserName, token);
                 printf( "USERNAME: %s\n", ccUserName );
                 break;
           case 4:         /* PASSWORD  */
                 strcat(ccPassWord, token);
                 printf( "PASSWORD: %s\n", ccPassWord );
                 break;
           default :
                printf("Invalid grade\n" );
           }
           /*   printf( " %s\n", token );   */
           token = strtok(NULL, s);
           i++;
      }
      GoUnitabCreate( ccHostName, ccBaseName, ccUserName, ccPassWord );
 
      return(0);
}
 
 
void GoUnitabCreate(char * cchost, char * ccbase, char * ccuser, char * ccpass) {
 
    MYSQL mysql;
 
    char ccSQL[1000]={0x00};
 
    printf("\n\tISMAEL FARFAN \n\t\t micachiquerido.com.ar/lanc/");
    printf("\n\t\farfan890@gmail.com\n");
 
    if ( mysql_init(&mysql)==NULL) {
         printf("\nFailed to initate MySQL connection");
         return;
    }
 
    if (!mysql_real_connect(&mysql, cchost, ccuser,"",NULL,0,NULL,0)) {
 
         printf( "Failed to connect to MySQL: Error: %s\n", mysql_error(&mysql));
         return;
    }
 
    if(mysql_select_db(&mysql, ccbase )==0)
        printf( "Database Selected\n");
    else
        printf( "Failed to connect to Database: Error: %s\n", mysql_error(&mysql));
 
    strcat(ccSQL,"DROP TABLE IF EXISTS TDZ01; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    /* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE TDZ01 ( ");
    strcat(ccSQL,"NUTAB   CHAR    (006)  NOT NULL, ");    /* -- 'NOMBRE DE TABLA'            */
    strcat(ccSQL,"QCLETV  VARCHAR (020)  NOT NULL, ");    /* -- 'CLAVE DE LA TABLA'          */
    strcat(ccSQL,"QXZMIL  VARCHAR (999)  NOT NULL, ");    /* -- 'AREA DE DATOS'              */
    strcat(ccSQL,"PRIMARY KEY( QCLETV ) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    /* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS TDZ14; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    /* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE TDZ14 ( ");
    strcat(ccSQL,"NUTAB   CHAR    (006)  NOT NULL, ");    /* -- 'NOMBRE DE TABLA'            */
    strcat(ccSQL,"QXZ40   VARCHAR (040)  NOT NULL, ");    /* -- 'CLAVE DE LA TABLA'          */
    strcat(ccSQL,"QXZMIL  VARCHAR (999)  NOT NULL, ");    /* -- 'AREA DE DATOS'              */
    strcat(ccSQL,"PRIMARY KEY( QXZ40 ) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    /* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS TDZ19; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    /* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE TDZ19 ( ");
    strcat(ccSQL,"NUTAB   CHAR    (006)  NOT NULL, ");    /* -- 'NOMBRE DE TABLA'       */
    strcat(ccSQL,"QXZ89   VARCHAR (089)  NOT NULL, ");    /* -- 'CLAVE DE LA TABLA'     */
    strcat(ccSQL,"QXZMIL  VARCHAR (999)  NOT NULL, ");    /* -- 'AREA DE DATOS'         */
    strcat(ccSQL,"PRIMARY KEY( QXZ89 ) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS TABTAB; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE TABTAB ( ");
    strcat(ccSQL,"CODTAB  VARCHAR (006)   NOT NULL, ");   /* -- 'NOMBRE DE TABLA'       */
    strcat(ccSQL,"CODPAC  CHAR    (004)   NOT NULL, ");   /* -- 'CODIGO PACABASE'       */
    strcat(ccSQL,"LIBTAB  VARCHAR (050)   NOT NULL, ");   /* -- 'LIBELLE DE LA TABLA'   */
    strcat(ccSQL,"PORTEE  CHAR    (001)   NOT NULL, ");   /* -- 'TABLA DE PORTEE'       */
    strcat(ccSQL,"NBRUBR  NUMBER  (003)   NOT NULL, ");   /* -- 'NUMERO DE Columna'     */
    strcat(ccSQL,"LENREG  NUMBER  (003)   NOT NULL, ");   /* -- 'LONGITUD DEL REGISTRO' */
    strcat(ccSQL,"PRIMARY KEY( CODTAB, CODPAC) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS TABRUB; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE TABRUB ( ");
    strcat(ccSQL,"CODTAB  VARCHAR (006)   NOT NULL, ");   /* -- 'NOMBRE DE TABLA'       */
    strcat(ccSQL,"CODPAC  CHAR    (004)   NOT NULL, ");   /* -- 'CODIGO PACABASE'       */
    strcat(ccSQL,"CLERUB  CHAR    (001)   NOT NULL, ");   /* -- 'ES CLAVE?'             */
    strcat(ccSQL,"NUMRUB  NUMBER  (003)   NOT NULL, ");   /* -- 'NUMERO DE Columna'    */
    strcat(ccSQL,"CODRUB  VARCHAR (006)   NOT NULL, ");   /* -- 'CODIGO DE Columna'     */
    strcat(ccSQL,"LIBRUB  VARCHAR (042)   NOT NULL, ");   /* -- 'LIBELLE DE LA Columna' */
    strcat(ccSQL,"FORMAT  VARCHAR (012)   NOT NULL, ");   /* -- 'FORMATO'               */
    strcat(ccSQL,"REPRUB  NUMBER  (002)   NOT NULL, ");   /* -- 'n REPETICION Columna'  */
    strcat(ccSQL,"PRIMARY KEY( CODTAB, CODPAC, CLERUB, NUMRUB, CODRUB ) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS Rubrique; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE Rubrique ( ");
    strcat(ccSQL,"NORUBR  VARCHAR (012)   NOT NULL, ");   /* -- 'NUMERO DE Columna'     */
    strcat(ccSQL,"CODLANG NUMBER  (002)   NOT NULL, ");   /* -- 'CODIGO DE IDIOMA'      */
    strcat(ccSQL,"LIBRUB  VARCHAR (030)   NOT NULL, ");   /* -- 'LIBELLE DE Columna'    */
    strcat(ccSQL,"MODIFI  CHAR    (001)   NOT NULL, ");   /* -- 'MODIFICABLE?'          */
    strcat(ccSQL,"PRIMARY KEY( NORUBR ) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS StructNew; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE StructNew ( ");
    strcat(ccSQL,"ST9999  VARCHAR (006)  NOT NULL, ");   /* -- 'NOMBRE TABLA STxxxx'    */
    strcat(ccSQL,"YTABST  CHAR    (004)  NOT NULL, ");   /* -- 'TABLA LOGICA'           */
    strcat(ccSQL,"LETTER  CHAR    (002)  NOT NULL, ");   /* -- 'ORDERN ALFA'            */
    strcat(ccSQL,"NAMRUB  VARCHAR (008)  NOT NULL, ");   /* -- 'NOMBRE Columna'         */
    strcat(ccSQL,"KEYRUB  CHAR    (001)  NOT NULL, ");   /* -- 'IS PK?'                 */
    strcat(ccSQL,"OCURRE  NUMBER  (003)  NOT NULL, ");   /* -- 'OCCURS'                 */
    strcat(ccSQL,"DATYPE  CHAR    (001)  NOT NULL, ");   /* -- 'DATATYPE'               */
    strcat(ccSQL,"DALENG  NUMBER  (003)  NOT NULL, ");   /* -- 'LENGTH'                 */
    strcat(ccSQL,"DECIMA  NUMBER  (003)  NOT NULL, ");   /* -- 'DECIMALES'              */
    strcat(ccSQL,"SIGNOS  CHAR    (001)  NOT NULL );");  /* -- 'SIGNO'                  */
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"DROP TABLE IF EXISTS Logicals; ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla eliminada\n");
    else
         printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
 
    inicializa( ccSQL );
    strcat(ccSQL,"CREATE TABLE Logicals ( ");
    strcat(ccSQL,"CODTAB  VARCHAR (006)   NOT NULL, ");   /* -- 'NOMBRE DE TABLA'       */
    strcat(ccSQL,"CLERUB  CHAR    (001)   NOT NULL, ");   /* -- 'ES CLAVE?'             */
    strcat(ccSQL,"NUMRUB  NUMBER  (003)   NOT NULL, ");   /* -- 'NUMERO DE Columna'    */
    strcat(ccSQL,"CODRUB  VARCHAR (006)   NOT NULL, ");   /* -- 'NOMBRE Columna'        */
    strcat(ccSQL,"LIBRUB  VARCHAR (042)   NOT NULL, ");   /* -- 'LIBELLE DE LA Columna' */
    strcat(ccSQL,"DATYPE  VARCHAR (001)   NOT NULL, ");   /* -- 'DATA TYPE'             */
    strcat(ccSQL,"LENGTH  SMALLINT        NOT NULL, ");   /* -- 'LENGTH OF FIELD'       */
    strcat(ccSQL,"DECIMA  SMALLINT        NOT NULL, ");   /* -- 'LENGTH OF DECIMALS'    */
    strcat(ccSQL,"PRIMARY KEY( CODTAB, NUMRUB, CODRUB ) ); ");
    printf( "%s\n", ccSQL );
    if ( mysql_exec_sql(&mysql,ccSQL )==0)
         printf( "Tabla creada\n");
    else
         printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
 
    mysql_close(&mysql);
}
 
int mysql_exec_sql(MYSQL *mysql,const char *create_definition) {
    return mysql_real_query(mysql,create_definition,strlen(create_definition));
}
void inicializa( char *buffer ) {
    buffer = malloc(1000);
    *buffer = '\0';
}
 
char *initchar() {
    char buffer[5];
    sprintf(buffer,'\0');
    return(buffer);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar