Click here to Skip to main content
Licence CPOL
First Posted 27 May 2008
Views 20,053
Downloads 623
Bookmarked 14 times

Upload images into a MySQL database using VC++

By | 24 Sep 2009 | Article
How to upload images into a MySQL BLOB field using the ODBC driver.
 
Part of The SQL Zone sponsored by
See Also

Introduction

This article explains uploading image files into a MysQL database using the MySQL C/C++ libraries or MySQL ODBC drivers. When I try to upload image files into MySQL, I was able to read it as bytes or characters but I couldn't insert an image into a MySQL BLOB field using the ExecuteSQL function in the CDatabase class.

Image files contain special characters especially escape sequences. If we want to upload an image file, read it as a string or character constants, and replace all (\) with (\\). My library does this as well. My library function converts unformatted data into formatted data. We can then easily upload it to a MySQL database.

Using the code

The downloadable zip file contains...

  1. mysqlfileimportexport.dll
  2. mysqlfileimportexport.lib
  3. mysqlfileimportexport.h

The following code snippet describes how to use mysqlfileimportexport.dll.

Class name: Cmysqlfileimportexport

Method: blob_Import

  • Step 1: Include this header file and library file into your code.
  • #include "mysqlfileimportexport.h"   
    #pragma comment(lib,mysqlfileimportexport.lib)
  • Step 2: Write the code for your database connection.
  • CDatabase db_Obj;
    
    //Database connection code here
    db.Obj.OpenEx(...)
  • Step 3: Include these lines into your code:
  • Cmysqlfileimportexport lib_Obj; 
    LPSTR Buffer = NULL;
    int iReturnValue = lib_Obj.blob_Import("c:\\xx\\yyy.abc",&Buffer);
    //If return 0 success, otherwise failiure.
    
    CString sQuery;
    sQuery.Format("INSERT INTO tablename fieldname(LONGBLOB) VALUES('%s')", Buffer);
  • Step 4: Execute the query using the database connection variable.
  • db_Obj.ExecuteSQL(sQuery);
    ...

Note

Don't forget to add mysqlfileimportexport.dll in your project directory.

License

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

About the Author

$uresh $hanmugam

Software Developer

India India

Member

Working in SIEMENS, Chennai, India - currently into vc++.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionBinary data of the image changes? PinmemberGokulnath0072:06 15 Jul '11  
GeneralThis is not an article Pinmembertransoft2:37 25 Sep '09  
Questionhow to read a file ? Pinmemberlanis12017:31 11 Nov '08  
AnswerRe: how to read a file ? Pinmemberjacksp23:22 28 Sep '09  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120517.1 | Last Updated 25 Sep 2009
Article Copyright 2008 by $uresh $hanmugam
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid