<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Te debo la vida Salvador!!! es un proyecto más bien simple, pero llevo varios años practicando con el C y por eso el interés en trabajar con ambos =)<br>
<br>
De todos modos instalaré el SQLite a ver que tal funciona ;) la última duda... con el SQLite podría ingresar datos mediante el teclado a mi base de datos?</p>
<p><br>
</p>
<p>Muchísimas gracias de nuevo!!!</p>
<p><br>
</p>
<p>Un gran beso para ti.</p>
<p><br>
</p>
<p>Karo<br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>De:</b> Cconclase <cconclase-bounces@listas.conclase.net> en nombre de Salvador Pozo Coronado <salvador@conclase.net><br>
<b>Enviado:</b> jueves, 23 de febrero de 2017 06:21 a.m.<br>
<b>Para:</b> Lista de correo sobre C y C++<br>
<b>Asunto:</b> Re: [C con Clase] Aprendiendo MySQL + API C</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Estimada Carolina,<br>
<br>
Con fecha jueves, 23 de febrero de 2017, 3:06:59, escribió:<br>
<br>
CH>   <br>
CH>  <br>
CH> Muchísimas gracias Salvador!!! De verdad te agradezco por todo el<br>
CH> esfuerzo que haces por ayudarme :)<br>
CH>  <br>
CH>  Estaré atenta esperando por los archivos, pero mientras revisaré lo que me comentas del SQLite ;)<br>
<br>
<br>
Hola:<br>
<br>
Esto  es lo que he descubierto hasta ahora. Probablemente se convierta<br>
en varios artículos en la página de "Con Clase", espero que pronto.<br>
<br>
Opción 1<br>
<br>
Instalar un compilador de 64 bits.<br>
<br>
a)     Descargar     el    compilador    desde    TDM-GCC    64    bit<br>
(<a href="http://tdm-gcc.tdragon.net/download" id="LPlnk509486" previewremoved="true">http://tdm-gcc.tdragon.net/download</a>)  
<div id="LPBorder_GT_14879095266980.5582233440650791" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14879095266960.23838625558463977" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_14879095266960.43617507915664044" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_14879095266960.4755026249811639"></div>
<div id="LPTitle_14879095266960.28464936246846106" style="top: 0px; color: rgb(0, 120, 215); font-weight: 400; font-size: 21px; font-family: "wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14879095266970.6805747867023031" style="text-decoration: none;" href="http://tdm-gcc.tdragon.net/download" target="_blank">TDM-GCC : Download</a></div>
<div id="LPMetadata_14879095266980.22201666149089738" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 14px;">
tdm-gcc.tdragon.net</div>
<div id="LPDescription_14879095266980.508640134877293" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
Bundle installer for the TDM32 MinGW edition. Includes C, C++, and OpenMP support, SJLJ exception handling, other GNU toolchain programs (binutils), Windows API ...</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
b) Instalar el compilador en el ordenador.<br>
c) Configurar Code::Blocks para usar el nuevo compilador.<br>
d) Crear la librería de enlace estático de 64 bits.<br>
e)  Copiar  los  ficheros  de  cabecera y las librerías en los lugares<br>
adecuados.  <br>
f) Crear programas con acceso a MySQL.<br>
<br>
Los pasos a y b son triviales.<br>
Para  configurar Code::Blocks seguir las instrucciones de este enlace:<br>
<a href="http://forums.codeblocks.org/index.php?topic=21570.0" id="LPlnk261988" previewremoved="true">http://forums.codeblocks.org/index.php?topic=21570.0</a>         
<div id="LPBorder_GT_14879095844760.5606195738205816" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14879095844740.9039464161569586" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_14879095844750.24384174574560813" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_14879095844750.22051494757156653"></div>
<div id="LPTitle_14879095844750.7937405529890491" style="top: 0px; color: rgb(0, 120, 215); font-weight: 400; font-size: 21px; font-family: "wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14879095844750.15042624509759306" style="text-decoration: none;" href="http://forums.codeblocks.org/index.php?topic=21570.0" target="_blank">Step by step guide to adding the TDM-GCC 64 bit compiler ...</a></div>
<div id="LPMetadata_14879095844750.7361305983502691" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 14px;">
forums.codeblocks.org</div>
<div id="LPDescription_14879095844760.2776267904558951" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
Author Topic: Step by step guide to adding the TDM-GCC 64 bit compiler to Code::Blocks (Read 10 times)</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
Para  crear el fichero libmysql.a de 64 bits, seguir las instrucciones<br>
de          la          página          de          Con         Clase:<br>
<a href="http://c.conclase.net/mysql/index.php?cap=000b#inicio" id="LPlnk394449" previewremoved="true">http://c.conclase.net/mysql/index.php?cap=000b#inicio</a>   
<div id="LPBorder_GT_14879095839250.5264460564011851" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14879095839230.7964544813662103" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_14879095839240.5376066392606952" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_14879095839240.30170532003778794"></div>
<div id="LPTitle_14879095839240.690879161828603" style="top: 0px; color: rgb(0, 120, 215); font-weight: 400; font-size: 21px; font-family: "wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14879095839240.09538602040042488" style="text-decoration: none;" href="http://c.conclase.net/mysql/index.php?cap=000b#inicio" target="_blank">API C MySQL - Prólogo</a></div>
<div id="LPMetadata_14879095839250.8777939606956635" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 14px;">
c.conclase.net</div>
<div id="LPDescription_14879095839250.5900537586144462" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
No lo he verificado, pero es de suponer que otros compiladores usarán, o bien las bibliotecas estáticas con extensión "a" si se basan en Mingw, o las que tienen ...</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
La  única  diferencia  es  que  se  deben  usar  las  versiones de los<br>
programas  reimp.exe,  dlltool.exe y as.exe incluidas en el compilador<br>
de 64 bits.           <br>
En  este caso no es necesario retocar el fichero .def generado, ya que<br>
no necesita la "decoración" @n para cada función.                         <br>
Copiar los ficheros de cabecera en la ruta del nuevo compilador, en la<br>
carpeta "include". Usar una carpeta separada llamada "mysql".             <br>
Copiar el fichero libmysql.a a la carpeta "lib" del nuevo compilador.<br>
Cuando  se  cree  el  proyecto  para  la  aplicación que use MySQL, no<br>
olvidar  incluir  en  "Build  options"  del proyecto, en la pestaña de<br>
"Linker settings", "Link libraries" las cadenas "mysql" y "ws2_32".<br>
<br>
Opción  2<br>
<br>
Usar el compilador de 32 bits MinGW<br>
<br>
a) Crear la librería de enlace estático de 32 bits.<br>
b)  Copiar  los  ficheros  de  cabecera y las librerías en los lugares<br>
adecuados. <br>
c) Crear programas con acceso a MySQL.<br>
<br>
Aunque parezca más sencillo, esta opción presenta algunos inconvenientes.<br>
Crear  la  librería,  usando  las  versiones  de 32 bits de reimp.exe,<br>
dlltool.exe  y  as.exe  no  es  tan  simple, ya que hay que retocar el<br>
fichero .def generado antes de generar el fichero libmysql.a.  <br>
Esto  implica  editar  cada  línea  del  fichero  .def  para añadir la<br>
"decoración", que consiste en un carácter '@' seguido de un número. <br>
El  número  corresponde  al  número  de  parámetros  de la función que<br>
aparece en la línea, multiplicado por cuatro.  <br>
Por  ejemplo, "mysql_autocommit" se convierte en "mysql_autocommit@8",<br>
ya que esta función tiene dos parámetros. <br>
Otro      ejemplo,     "mysql_change_user"     se     convierte     en<br>
mysql_change_user@16, porque esta función tiene cuatro parámetros.           <br>
Para  saber cuantos parámetros tiene cada función hay que buscarlas en<br>
el fichero "mysql.h", y contarlos.                <br>
El fichero de librería obtenido libmysql.a se copia a la carpeta "lib"<br>
del  compilador,  que  generalmente se encuentra en la carpeta "MinGW"<br>
donde hayamos instalado Code::Blocks.  <br>
Los ficheros de cabecera se copian a la carpeta "include", en la misma<br>
ruta, y en una carpeta específica "mysql".  <br>
En  las  opciones  del linker del proyecto también hay que incluir las<br>
librerías "mysql" y "ws2_32".  <br>
<br>
En  ambos  casos,  el  fichero  "libmysql.dll"  debe ser accesible por<br>
nuestra  aplicación,  por lo tanto, debe estar en una carpeta incluida<br>
en  la  variable  de entorno "PATH", o en la misma carpeta que nuestra<br>
aplicación.    <br>
<br>
Incluyo varios ficheros adjuntos, para ahorrar trabajo ;-)<br>
<br>
include.zip: contiene los ficheros de cabecera de mysql<br>
libmysql_def.zip: fichero .def de 32 bits, decorado.<br>
libmysql_a.zip: fichero de enlace estático de 32 bits.<br>
libmysql_dll.zip: fichero dll<br>
libmysql_lib.zip: fichero de enlace estático versión Microsoft<br>
libmysql_def_64.zip: fichero .def de 64 bits, no necesita decoración.<br>
libmysql_a_64.zip: fichero de enlace estático de 64 bits.<br>
<br>
Enlace de descarga:<br>
<a href="https://mega.nz/#F!KYhwFaQI" id="LPlnk869115" previewremoved="true">https://mega.nz/#F!KYhwFaQI</a>
<div id="LPBorder_GT_14879095839410.9268700824881458" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14879095839390.6427326041526821" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_14879095839390.5081422172103093" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_14879095839390.041098077981343684"></div>
<div id="LPTitle_14879095839400.38970089191348023" style="top: 0px; color: rgb(0, 120, 215); font-weight: 400; font-size: 21px; font-family: "wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14879095839400.43466648833889265" style="text-decoration: none;" href="https://mega.nz/#F!KYhwFaQI" target="_blank">MEGA</a></div>
<div id="LPMetadata_14879095839400.025311608510866668" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 14px;">
mega.nz</div>
<div id="LPDescription_14879095839410.8638782694509021" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
Select files to upload or drag drop anywhere on this page What is MEGA? Click or scroll</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
Clave de cifrado:<br>
!E-cgnMdHbbM7dxhMfM6_0w<br>
<br>
<br>
He probado las dos versiones, de 32 y 64 bits con el motor de bases de<br>
datos  que tengo instalado, MaríaDB, y funciona perfectamente. Debería<br>
funcionar con cualquier versión relativamente reciente de MySQL.<br>
<br>
Por  último,  si  tu  proyecto  no  necesita  cosas  como  permisos  y<br>
privilegios,     claves    foráneas,    procedimientos    almacenados,<br>
disparadores, etc. Una buena opción es SQLite.<br>
<br>
Hasta pronto.<br>
-- <br>
Saludos,<br>
Salvador  <a href="mailto:salvador@conclase.net">mailto:salvador@conclase.net</a><br>
Con Clase:  <a href="http://www.conclase.net">http://www.conclase.net</a><br>
Blog con Clase: <a href="http://blogconclase.wordpress.com">http://blogconclase.wordpress.com</a><br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase Cconclase@listas.conclase.net<br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div>
</span></font></div>
</div>
</body>
</html>