65.9K
CodeProject is changing. Read more.
Home

store and retrieve image to/from sql server database

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.75/5 (6 votes)

Aug 6, 2007

viewsIcon

33627

simple save and fetche image toand from database

Introduction

hi.I have a database for save large image and binary data. we use a simple method for save and retrieve image from sqlserver database.

Background

this article useful for every application programmer in related work.

we use this method in LG-iomind company

Using the code

At first we have two main storedprocedure for save and retrieve image

CREATE PROCEDURE sr_fetch_image(@ID int) AS
BEGIN
    SELECT    [Name], Exc, Image_Data
    FROM         [dbimage].[dbo].[tbl_Image]
    WHERE [ID]=@ID
END
GO

CREATE PROCEDURE [sr_insert_Image]
    (
     @Name     [nvarchar](50),
     @Exc     [nvarchar](50),
     @Image_Data     [image])

AS INSERT INTO [dbimage].[dbo].[tbl_Image] 
     (
     [Name],
     [Exc],
     [Image_Data]) 
 
VALUES 
    ( 
     @Name,
     @Exc,
     @Image_Data)
GO

and some code in C# for save and fetching

      // Save image in database
      OpenFileDialog odlg = new OpenFileDialog();
      odlg.ShowDialog();
      Cursor.Current = Cursors.WaitCursor;
      this.Refresh();
      Image bmp=Bitmap.FromFile(odlg.FileName);
      System.IO.MemoryStream ms=new System.IO.MemoryStream();
      bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp);
      sr_fetch_imageTableAdapter.Insert("df", "rer", ms.GetBuffer());
      Cursor.Current = Cursors.Default;
 
      // fetch data from database
      sr_fetch_imageTableAdapter.Fill(dSMoblie.sr_fetch_image, 3);
      System.IO.MemoryStream ms = new System.IO.MemoryStream();
      //bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
      ms.Write(dSMoblie.sr_fetch_image[0].Image_Data, 0, dSMoblie.sr_fetch_image[0].Image_Data.Length);
      Image bmp = Bitmap.FromStream(ms);
      pictureBox1.Image = bmp;

note that sr_fetch_imageTabelAdapter is my table adapter that have to stored procedure for save and fetching