How to Save an Image in a SQL Server Database?

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 A Guide to .NET for a complete introduction to .NET framework. Learn about ASP.NET, VB.NET, C# and other related technologies.

In The News:


pen paper and inkwell


cat break through


Top 9 Ways To Speed Up Your Surfing & Computing

It seems like fast never quite rates fast enough.No matter... Read More

Setting File Permissions On A Unix Server

File permissions are one of the strengths that the Unix... Read More

10 Tips to Stay Safe and Secure Online

The Internet can be a dangerous place.While you're enjoying the... Read More

Favorite Things To Do With Home Technology

Save money. Save 10-15% on utility bills per month. Work... Read More

5 Steps to Remove Spyware for Free

Have you ever tried to remove Spyware off your PC... Read More

Cisco Certification: Building Your Own Home Lab, Part I

CCNAs and CCNA candidates hear it all the time: â??Get... Read More

COOKIES - What Are They!!

Cookies, not the kind that Mom makes, but the computer... Read More

Things You Can Do To Speed Up Your Computer

Upgrading your processor will always speed up your computer, but... Read More

Basic Computer Thermodynamics

That desk in front of you and everything else around... Read More

Healthy Webmasters Choose Ergonomic Computer Products

Webmasters usually sit at their computers much longer in a... Read More

Put Order and Information into File Names

Unless you place your faith in internal search engine software... Read More

Temporary Fixes to Spyware, Ad-ware, and Virus Infections

So you've got some spyware, ad-ware, or viruses on your... Read More

Getting Started with HTML

The basic language of the internet is html. If you... Read More

Buying a Home Theater Receiver

Buying a receiver is one of the most important decisions... Read More

Lives With Games Tradition and Industry

The United States Of America citizen feels that games is... Read More

Repairing A Corrupt .RAR/.ZIP Archive

Step 1:Open WinRAR and browse to the folder with your... Read More

Emulation Manual - A Complete Guide on How to Change Your Windows XP to Mac OS X

IntroductionMac OS X is the most technologically advanced operating system... Read More

Advantages and Guidelines of Automated Testing

"Automated Testing" is automating the manual testing process currently in... Read More

Compare MP3 Players for the Coolest Features and Sweetest Deals

How can you compare mp3 players to be sure you're... Read More

HTML Explained: Part 2

Get started creating web pages using text files and HTML... Read More

Computer Performance Tips

Introduction In this article I will clearly spell out the... Read More

System File Checker - A Maintenance Utility

System File Checker is a great utility that is typically... Read More

The Advantages of Portable MP3 Players

With their solid-state technology, compact size, and abundant memory, portable... Read More

Seven Things to Consider When Choosing a PDA

In the early days, Personal Digital Assistants (PDAs) were not... Read More

2 PC Annoyances and How To Solve Them!

I have a love-hate relationship with my computer.In fact, often... Read More

Do Higher Digital Camera Prices Mean Better Cameras?

Understanding digital camera prices makes finding the best camera value... Read More

Learn the Lost Art of Touch Typing

Computers have replaced typewriters, but two-finger, hunt-and-peck typing can never... Read More

How To Safeguard Your Computer?

The following practice, if done regularly, may help you to... Read More

Taking Advantage of the iPod Experience

Music lovers have been carrying around radios and other bulky... Read More

An All Too Familar Pain

Lost & Found for the 21st CenturyIn today's hectic world... Read More

Plasma TV vs LCD TV

For those seeking to buy their first flat panel TV... Read More

Printing Multiple Copies of Photos

I do a holiday letter every year and send them... Read More

How Does My PC Get Hot

There are many sources of heat that can raise the... Read More