QT - Guardar imagenes en mysql con qtcreator

 
Vista:

Guardar imagenes en mysql con qtcreator

Publicado por Humberto (8 intervenciones) el 16/01/2010 07:39:16
Hola bueno solicito un poco de ayuda es que estoy tratando de crear una aplicacion con base de datos con el driver QMYSQL en la cual necesito guardar los datos de empleados con todo y foto(en la misma base de datos) por motivos de que todo se va a centralizar en un servidor remoto y he buscado en google y vienen varios ejemplos pero en php alguien tiene conocimiento sobre el tema que puedar darme una ayuda?.

Lo que hacen las rutinas es lo siguiente:
*************************************************************************************
1.- Se captura la imagen con una camara digital y se copia al disco duro.
2.- Por medio de un QFileDialog localizamos la foto y guardamos su ruta y nombre en un QString llamado archivo_foto
3.- a un QLabel le pongo en el valor setPixmap la ruta y el nombre de la imagen que escogemos en el QFileDialog y se muestra
la foto en la etiqueta.

int MainWindow::captura()
{
QString archivo_foto;
archivo_foto = QFileDialog::getOpenFileName(this,tr("Abrir Archivo"),tr("/home/Imágenes"),tr("Imagenes(*.png *.xpm *.jpg"));
ui->label_foto->setPixmap(archivo_foto);
return 0;
}
*************************************************************************************

Pero el problema viene cuando la quiero guardar con el query donde le agrego en el segundo campo de los VALUES esto
ui->label_foto->pixmap() no se si me falta algo o haya que convertirlo por que en la base de datos este campo lo puse como LongBlob

QSqlQuery query;

query.exec("INSERT INTO `ismed`.`empleados` (`id` ,`foto`,`nombre` ,`apellidop` ,`apellidom` ,`puesto` ,`direccion` ,`fecha_ingreso` ,`salario` ,`depto` ,`activo`)VALUES (NULL ,"+ ui->label_foto->pixmap() +",'"+ui->lineEdit_2->text()+"', '"+ui->lineEdit_3->text()+"', '"+ui->lineEdit_4->text()+"', '"+ui->lineEdit_5->text()+"', '"+ui->lineEdit_6->text()+"', '"+ui->lineEdit_7->text()+"', '"+ui->lineEdit_8->text()+"', '"+ui->lineEdit_9->text()+"', '"+ui->lineEdit_10->text()+"');");

me marca el siguiente error:

/home/horus/sql/mainwindow.cpp:56: error: invalid operands of types ‘const char [167]’ and ‘const QPixmap*’ to binary ‘operator+’

Agradesco de ante mano la ayuda Gracias y en caso de que encuentre yo mismo la solución a esto con gusto la publico para el provecho de todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar imagenes en mysql con qtcreator

Publicado por jonathan (7 intervenciones) el 07/03/2010 19:09:32
Lo que tienes que hacer es o subir la foto a un lugar accesible desde donde lo necesitas y guardar la ruta en la base de datos o grabar la foto como binario en la base de datos, no es tan complicado aunque ahorita no recuerdo como era, la cuestion es que tienes que convertir la foto a algún formato binario o stream y especificar en la base de datos el campo como algún formato binary o similar (no recuerdo bien) cuando te traes los datos tienes que volver a convertirlos a foto. Mas o menos así es.... busca sobre grabar archivos (binarios) en base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar