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