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