I have tried connecting the saving the image to the database, but it fails. i have used the following code for updating the database with the image data:
Qt Code:
  1. QScreenShot::QScreenShot(QWidget *parent) :
  2. QDialog(parent),
  3. ui(new Ui::QScreenShot)
  4. {
  5. ui->setupUi(this);
  6. c=0;
  7. bool ok=false;
  8. QDateTime dateTime = QDateTime::currentDateTime();
  9. QString dateTimeString = dateTime.toString();
  10.  
  11. QDir().mkdir("D:\\QtImages\\");
  12. QDir().setCurrent("D:\\QtImages\\");
  13. QDir().mkdir("ScreenShots");
  14. QDir().setCurrent("ScreenShots");
  15. QDir().mkdir(dateTimeString);
  16.  
  17. QMessageBox::warning(NULL,"DriveList",dateTimeString,QMessageBox::Ok);
  18.  
  19. QStringList list=QSqlDatabase::drivers();
  20. QString driveList;
  21. for(int i=0;i<list.length();i++)
  22. {
  23. driveList += list[i];
  24. }
  25. //QMessageBox::warning(NULL,"DriveList",driveList,QMessageBox::Ok);
  26. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  27. db = QSqlDatabase::addDatabase("QODBC");
  28. db.setDatabaseName("DRIVER={MYSQL ODBC 3.51 Driver};FIL={MYSQL};DBQ=screengrabber");
  29. db.setHostName("localhost");
  30. db.setConnectOptions("CLIENT_ODBC");
  31. //db.setDatabaseName("screengrabber");
  32. db.setUserName("root");
  33. db.setPassword("1");
  34. ok = db.open();
  35.  
  36. for(;;)
  37. {
  38.  
  39. originalPixmap =QPixmap();
  40. originalPixmap = QPixmap::grabWindow(QApplication::desktop()->winId());
  41. QString strfname;
  42. strfname.sprintf("%d",c);
  43. originalPixmap.save("D:\\image"+strfname+".jpeg","jpeg");
  44. c++;
  45. char Data;
  46. QFile file("D:\\image"+strfname+".jpeg");
  47. file.open(QIODevice::ReadOnly);
  48. file.seek(0);
  49. buf=file.read(250000);
  50. QSqlQuery query;
  51. query.prepare("INSERT INTO log VALUES('grab_date='2011-04-26 15:55:09',ip_address='172.16.0.51',image=:val');");
  52. query.bindValue ( ":val", buf);
  53. QString strquery;
  54. strquery = "INSERT INTO log (grab_date,ip_address,image) VALUES ( '";
  55. strquery += '2011-04-26 15:55:09';
  56. strquery += "' , '";
  57. strquery += '172.16.0.51';
  58. strquery += "' , ";
  59. strquery += buf;
  60. strquery += " );";
  61.  
  62. //QMessageBox::warning(NULL,"DriveList",strquery,QMessageBox::Ok);
  63.  
  64. QSqlQuery insertQuery( strquery, db);
  65. bool done = insertQuery.exec();
  66.  
  67. QFile newfile("D:\\img.txt");
  68. newfile.open(QIODevice::WriteOnly);
  69. newfile.write(buf);
  70.  
  71. int iSecret, iRandom;
  72. iSecret = rand() % 20 + 1;
  73. iRandom=iSecret*60000;
  74.  
  75. QMutex mutex;
  76. mutex.lock();
  77. QWaitCondition waitCondition;
  78. waitCondition.wait(&mutex, iRandom);
  79. mutex.unlock();
  80.  
  81. }
  82.  
  83. }
To copy to clipboard, switch view to plain text mode