Writers' Community!
Home Page Two Columnists Q&A Submit an Article FAQs Contact Author Login
Article Submission
We Need YOUR Articles!
We'll Promote Them for FREE!

Author Login

New Authors
Register Here


Now Serving 7,803 Authors
70,547 Quality Articles
& 6,838 Current Users Online!
Featured Authors
Dianne Lehmann (5,198)
Joel Hirschhorn (2,786)
Mogama (16,433)
Bruce Horst (138)
Joel Hendon (17,877)
Michael Ramzy (633)
E. Raymond Rock (3,064)
Ira Coffin (7,406)
Connor Davidson (5,137)
Ben Morrish (8,401)
Steve Kovacs (4,388)
Sandra E. Graham (8,072)
Fran Larson (2,158)
Shari Vaudo (418)

View All Featured Authors
Most Recent
Was Ares I-X designed by NASAs own CAD-system?

How To Decide A Niche For Your Membership Software?

How to Remove the Vocals from a Song

Jazz Up and Organize Your Inbox with Color Categories

Preventing Malware While Browsing The Internet

Should A Cad Come With The Operation System?

How To Setup An Email Out of Office Auto Reply In Mircosoft Outlook

How can I open a 2007 Microsoft Office file in an earlier version of Office?

What are the Key Requirements for Privacy Control Software?

Wny Do You Need Open Source Audits

Home » Categories » Computers & Networking » Software » How to Save an Image in a SQL Server Database? » Printer Friendly

How to Save an Image in a SQL Server Database?

Rated 3 out of 5
No Reader Ratings Available ?
Rate It  /  View Comments  /  View All Articles submitted by Baashyaam
Submitted Wednesday, July 13, 2005
Baashyaam (1,121)

Log in to become a member of Baashyaam's Fan Club!


 Most of the web applications have a lot of images used in it. These images are usually stored in a web server folder and they are accessed by giving the relative path to the file with respect to the root folder of the website. .Net being the platform for distributed application now, ASP.Net can be used to store images that are small to be stored in a database like SQL Server 2000 and later versions. For this purpose the SQL Server database provides a data type called “image" which is used to store images in the database.

To access these images stored in the database we will be using the ADO.Net classes. To find out how to insert and retrieve an image in to the SQL Server database, you can create a .aspx page which can have a HTMLInputFile control which is used to select the image file that is to be saved in the database. You can also create a textbox control in which you can add the image name or some comment or an image id for the image saved. Use a button control to upload the image to the database. Namespaces like System.Data.SqlClient, System.Drawing, System.Data, System.IO, and System.Drawing.Imaging are used in this task.

In the OnClick property of the button you can write the following code to upload an image to the database.

// create a byte[] for the image file that is uploaded
int imagelen = Upload.PostedFile.ContentLength
byte[] picbyte = new byte[imagelen]
Upload.PostedFile.InputStream.Read (picbyte, 0, imagelen)
// Insert the image and image id into the database
SqlConnection conn = new SqlConnection (@"give the connection string here...")
try
{
conn.Open ()
SqlCommand cmd = new SqlCommand ("insert into                 ImageTable " + "(ImageField, ImageID) values (@pic, @imageid)", conn)cmd.Parameters.Add ("@pic", picbyte)
cmd.Parameters.Add ("@imageid", lblImageID.Text)
cmd.ExecuteNonQuery ()
}
finally
{
conn.Close ()
}

You can also write the above code in a function and call that function in the OnClick event of the upload button. The code given above performs the following steps in the process of inserting an image into the database.

1. Get the content length of the image that is to be uploaded
2. Create a byte[] to store the image
3. Read the input stream of the posted file
4. Create a connection object
5. Open the connection object
6. Create a command object
7. Add parameters to the command object
8. Execute the sql command using the ExecuteNonQuery method of the command object
9. Close the connection object

To retrieve the image from the SQL Database you can perform the following steps.

1. Create a MemoryStream object. The code can be something like, MemoryStream mstream = new MemoryStream ()
2. Create a Connection object
3. Open the connection to the database
4. Create a command object to execute the command to retrieve the image
5. Use the command object’s ExecuteScalar method to retrieve the image
6. Cast the output of the ExecuteScalar method to that of byte[]
   byte[] image = (byte[]) command.ExecuteScalar ()
7. Write the stream mstream.Write (image, 0, image.Length)
8. Create a bitmap object to hold the stream Bitmap bitmap = new Bitmap (stream)
9. Set the content type to “image/gif" Response.ContentType = "image/gif"
10. Use the Save method of the bitmap object to output the image to the OutputStream.
    bitmap.Save (Response.OutputStream, ImageFormat.Gif)
11. Close the connection
12. Close the stream mstream.Close()

Using the above steps you can retrieve and display the image from the database to the web page.

You can use these algorithms and take advantage of the “image" data type available in the SQLServer 2000 database to store small images that correspond to a particular record in the table of the database. This method of storing avoids the tedious task of tracking the path of the web folder if the images are stored in a web folder.

Visit http://www.dotnet-guide.com for a complete introduction to .NET framework. Learn about ASP.NET, VB.NET, C# and other related technologies.

** Attention Webmasters / Website Owners **
You can reprint this article on your website as long as you do not modify any of the content, and include our resource box as listed above with all links intact and hyperlinked properly.




Reprint Rights

Log in to become a member of Baashyaam's Fan Club!

Comments on this article: (1 total)


» left by eugene smith from Canada (3 years 234 days ago.)
Reader Rating: 4 out of 5
This lookss like an interesting method to view images from a SQL db. My problem is the detail of how then to show the image.. do you use a webcontrols.image? Then how does the imageurl for that control set? I am confused.. any help ?
Respond to this comment

Was this article helpful to you? Leave a Public Comment or Question:

This Article has been viewed 6,848 times.
Article added to SearchWarp.com on 7/13/2005 7:01:13 AM.
View other articles written by Baashyaam (1,121)


If you found this article interesting, you may want to check out:

Disclaimer:  All information on this site is provided for informational purposes only! By no means is any information presented herein intended to substitute for the advice provided to you by any health care or other professional or organization.


Today's Most Popular
Linux Commands Tutorials - Using the ls Command with Examples of Options - A Hands-On Tutorial Help

Recover Deleted Email Messages in Vista Windows Mail

How to Change Folder Icon or Folder Color?

Defect Classification In Software Testing

The Advantages of Using Windows Vista

Outsourcing vs. Captive Operations: Which Model Is the Best Fit For Your Business?

Improve PC Performance - 6 Tips You Must Know.

Introduction to DQL-Documentum Query Language

Linux Command Tutorials - Opening a Linux Terminal / Console to Run Linux Commands - Tutorial Help

Explore the Earth from Home

Viewed from Cache. Load Time: 0.016.

Home  |  Page Two  |  FAQ's  |  Contact  |  Terms of Service  |  Article Submission Guidelines  |  Questions & Answers  |  Privacy  |  Mission / About
Copyright © 1999-2009 SearchWarp.com, All Rights Reserved - SearchWarp.com is an IcoLogic, Inc. Company