Click here to Skip to main content
15,886,091 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
How to save the image in mysql database in QT? I am using the following code:
What mistake i am making, Please suggest me..


originalPixmap =QPixmap();
           originalPixmap = QPixmap::grabWindow(QApplication::desktop()->winId());
           QString strfname;
           strfname.sprintf("%d",c);
           originalPixmap.save("D:\\image"+strfname+".jpeg","jpeg");
           c++;
           char Data;
           QFile file("D:\\image"+strfname+".jpeg");
           file.open(QIODevice::ReadOnly);
           file.seek(0);
           int len=file.size();
           QByteArray buf;
           buf=file.read(len);
           QSqlQuery query;
           query.prepare("INSERT INTO log (id,grab_date, ip_address, image,logged_user) "
                         "VALUES (:id, :grab_date, :ip_address, :image,  :logged_user)");
           query.bindValue(":id",400);
           query.bindValue(":grab_date",(QVariant)'2011-04-26 15:55:09');
           query.bindValue(":ip_address",(QVariant)'172.16.0.51');
           query.bindValue(":image",(QVariant)buf.data());
           query.bindValue ( ":logged_user",(QVariant) hostname);
           bool qry=query.exec();
Posted
Comments
Herman<T>.Instance 18-Jul-11 4:34am    
which error you receive?
Gokulnath007 18-Jul-11 5:37am    
Nothing is updated in the database.

1 solution

query.bindValue(":image",(QVariant)buf.data()); is the bug.

Ensure that all bits of the loaded image were written in the database. Why not copy the file to some store and referring that path. It speeds up the whole process and makes maintenance easier.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900