[C con Clase] winapi y mysql

Wally aypotua en gmail.com
Mar Jun 5 17:00:13 CEST 2007


Hola a Todos!
Gracias Steven, me ayudo muchas gracias, me dio alguna idea es
mas puse el código con algunas modificaciones al principio del programa y pude
cargar los datos.
/*------------------------------------------------------------------------------------------------------------------*/
MYSQL *myData;

char szDatos[128]="novela";
myData = mysql_init(0);
char szComando[1024] = "INSERT into genero (cod_g,genero_d) values
(54,'";
mysql_real_connect(myData, NULL, "root", "", "libreria", MYSQL_PORT, NULL, 0);
mysql_select_db(myData, "libreria");
strcat( szDatos, "')" );
strcat( szComando, szDatos );
mysql_real_query( myData, szComando, strlen(szComando) );
 /*el ultimo dato cargado en la tabla genero es el 53 a si que el
próximo a cargar es el 54*/
/*-------------------------------------------------------------*/

Pero me falla al poner el código de mas de bajo, ( no me marco ningún
error el ide, sencillamente me fijo por mysql
 y no carga el dato en la tabla ) cuando el usuario llena el control
de edit y le de en aceptar párese que no ejecuta el código.
modifique el código del ejemplo 5 (
http://winapi.conclase.net/curso/index.php?cap=007b#EJEMPLO5 )
en BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
lo remplace por este código:

BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
     static DATOS *Datos;

/*-------------------------------------------------------------------------------------------------------------------*/
MYSQL *myData;

char szDatos[128]="";
myData = mysql_init(0);
char szComando[1024] = "INSERT into genero (cod_g,genero_d) values (55,'";
mysql_real_connect(myData, NULL, "root", "", "libreria", MYSQL_PORT, NULL, 0);
mysql_select_db(myData, "libreria");
 /*el ultimo dato cargado en la tabla genero es el 54 a si que el
proximo a cargar es el 55*/
/*-----------------------------------------------------------------------------------------------------------------*/

    switch (msg)                  /* manipulador del mensaje */
    {
        case WM_INITDIALOG:
           SendDlgItemMessage(hDlg, ID_TEXTO, EM_LIMITTEXT, 80, 0L);
           Datos = (DATOS *)lParam;
           SetDlgItemText(hDlg, ID_TEXTO, Datos->Texto);
           SetFocus(GetDlgItem(hDlg, ID_TEXTO));
           return FALSE;
        case WM_COMMAND:
           switch(LOWORD(wParam)) {
              case IDOK:


/*-------------------------------------------------------------------*/
                 GetDlgItemText(hDlg, ID_TEXTO, szDatos, 128 );
                 strcat( szDatos, "')" );
                 strcat( szComando, szDatos );
                 mysql_real_query( myData, szComando, strlen(szComando) );

/*------------------------------------------------------------------*/
                 EndDialog(hDlg, FALSE);
                 break;
              case IDCANCEL:
                 EndDialog(hDlg, FALSE);
                 break;
           }
           return TRUE;
    }
    return FALSE;
}


Desde ya muchas gracias, ( me suena que me estoy equivocando en algo
muy tonto ).
Saludos!


-- 
~~ ~~
 ° « °
 ^~~^




Más información sobre la lista de distribución Cconclase