[C con Clase] winapi y MySql

Steven Davidson steven en conclase.net
Lun Jun 4 18:27:43 CEST 2007


Hola Walter,

El pasado 2007-06-04 13:56:02, walter escribió:

w> Hola a todos! soy nuevo en la lista, hace poco me baje el curso de

Ante todo, bienvenido a la lista.

w> winapi y lo estoy siguiendo. Pero tuve un problema iba todo muy bien
w> asta que se me surgió la idea de comunicar mi programa hecho con
w> winapi con Mysql, (también baje el curso de las apis Mysql de esta
w> misma pagina). La cosa es que no encuentro ejemplos de como hacerlo,
w> puedo connectarme al MySql, puedo cargar datos pero no puedo mandar lo
w> que un usuario pone en un control cuando le da en aceptar.
w> Poray no me hice entender bien, Mi pregunta es como ago (por favor un ejemplo)
w> para insertar en una tabla en mysql lo que un usuario escribe en el
w> control edit cuando este haga clik en aceptar? desde ya muchas
w> gracias, estoy utilizando el dev-c++.
w> Pd: Ejemplo 5 del curos de winapi.

Bien. Como puedes ver en el código del ejemplo 5 ( http://winapi.conclase.net/curso/index.php?cap=007b#EJEMPLO5 ) del curso del API de MS-Windows, procesamos el mensaje WM_COMMAND del cuadro de diálogo. Al procesar este mensaje, estamos atentos a los mensajes enviados por el botón "Aceptar". Cuando el usuario pulse este botón, en el ejemplo, conseguimos el texto del control de edición guardándolo en una cadena de caracteres.

Para lo que propones, hacemos los mismo que en el ejemplo 5, pero en lugar de terminar el cuadro de diálogo, enviamos la cadena de caracteres al servidor de MySQL. Para hacer esto, usamos la función 'mysql_real_query()' del API de MySQL. Por ejemplo,

case WM_COMMAND:
  switch( LOWORD(wParam) )
  {
    case IDOK:
    {
      char szComando[1024] = "insert into mitabla set nombre=";
      char szDatos[128] = "";

      GetDlgItemText( hDlg, ID_TEXTO, szDatos, 128 );

      strcat( szComando, szDatos );
      mysql_real_query( mysql, szComando, strlen(szComando) );

      EndDialog( hDlg, FALSE );
    }
    break;

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

Como puedes observar, necesitamos una cadena de caracteres que contenga la instrucción para MySQL. Para ello, creamos tal instrucción o comando como una cadena de caracteres.

Como una referencia de 'mysql_real_query()', puedes consultar el siguiente enlace: http://mysql.conclase.net/curso/index.php?api=mysql_real_query


Espero que esto te ayude.

Steven


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