Tema: c++ y MySQL
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2011, 17:26
foreverjos
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta c++ y MySQL

Hola tengo un problema empiezo en esto de C++, tengo conocimientos en PHP y Delphi, también un poco de Java, pero ahorita tengo un problema:

Necesito una aplicación en c++ que lea datos de una base de MySQL, uno de estos datos es un Blob type_data=252 de Mysql.

Que he realizado:

1 Encontré un compilador en Ubuntu que se llama Code::Blocks

2 Instale el compilador

3 Como necesito que sea gráfico utilizo WxWidget y para esto instale el WxFormBuilder

4 Investigue como conectarme a Mysql así que logre hacer el import del <mysql.h>

5 Hice una prueba de la siguiente manera

Código:

void SaVL_BitraFrame::btn1_clic(wxCommandEvent &event)
{

    mysql_init(&mysql);
    connection = mysql_real_connect(&mysql,"localhost","root","*****","base_prueba",0,0,0);
    if (connection == NULL)
    {
       label1->SetLabel(wxT( "Error de conexión" ));
    }
    else
    {
        label1->SetLabel(wxT("Conexión exitosa"));

        char query[200];
        sprintf(query , "Select dato from data_blobs");

        query_state = mysql_real_query(connection,query,strlen(query));

        if (query_state !=0)
        {
            label1->SetLabel(wxT("Error en el query"));
        }
        else
        {
          result = mysql_use_result(connection);
          int count=0;
          MYSQL_FIELD *fields;
          fields = mysql_fetch_fields(result);
          while ( ( row = mysql_fetch_row(result)) != NULL )
            {

    

               int xresult= fields[0].type;


              //Todo funciona bien, el problema es que necesito el dato de row
              //en una arreglo de bytes, ya que es un blob
             //cuando realizo la siguiente instrucción me regresa cadena vacía 
            //Con un size de cero

           std::string Dato_Blob=row[0];


             //Alguna idea de como leerlo

               count ++;
                wxString cuenta= wxString::Format(wxT("%i"),count);
              Refresh();
                Update();
              label1->SetLabel( ToWxString<char, wchar_t>(resultado));
          }
        }

    }


}

Lo he intentado de varias maneras pero ya me canse de buscar