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:


Personal gadgets killing downtime
Vancouver Sun,  Canada - Sep 4, 2008
With Canadians taking on increasingly longer workdays, a recent survey conducted by Leger Marketing indicates Canadians are using their personal tech ...

Cards aim to become offensive
Louisville Courier-Journal, KY - Sep 6, 2008
So with Tennessee Tech (1-0) visiting Papa John's Cardinal Stadium at 3:30 pm today, there will be no overlooking the Football Championship Subdivision team ...
Cards Crush TN Tech 51-10 CardinalSports.com (subscription)
all 8 news articles

Personal Tech: iPhone just got smarter
Salt Lake Tribune, United States - Aug 19, 2008
By Vince Horiuchi "Crash Kart,"a Mario Kart-like driving game, is shown running on Apple's new iPhone 3G. With all the hoopla over the iPhone 3G and its new ...

DailyTech

Microsoft Tech 'Gurus' To Hone Windows Retail Pitch
CRN, NY - Sep 5, 2008
Although Microsoft says the guru idea is adapted from the Nordstrom model of "personal shoppers," it also sounds like the type of experience one gets ...
Microsoft ads aim to improve the view of Vista Houston Chronicle
New Seinfeld ad draws negative reviews online Times Record News
all 527 news articles

Washington Post

Florida pulls away from Miami
Atlanta Journal Constitution,  USA - 10 hours ago
By TONY BARNHART Gainesville — In a game that should give both Georgia and Georgia Tech something to think about, Miami held Florida’s explosive offense in ...
Gators survive tough test, beat 'Canes Palm Beach Post
all 686 news articles

Personal Tech: ABCs of online security
Salt Lake Tribune, United States - Aug 12, 2008
Boulder, Colorado - More than 18 million college students will head back to school this fall and nearly every one of them owns a personal computer. ...

Pittsburgh Post Gazette

Getting out on a high-tech 'Segway' tour of the city
Pittsburgh Post Gazette, PA - 9 hours ago
The patented technology, "dynamic stabilization," was originally developed to enable people in wheelchairs to go up and down stairs -- that personal ...

Center for Research on Globalization

The Implanted Radio-Frequency Identification Chip: "Smart Cards ...
Center for Research on Globalization, Canada - 14 hours ago
by Tom Burghardt If incorporating personal details into an RFID (radio-frequency identification) chip implanted into a passport or driver's license may ...

PR.com (press release)

New Book Pinpoints Power Networking as the Key to Career Success
PR.com (press release), NY - Sep 6, 2008
Her firm, Tech Exec Partners, Inc. in Los Angeles, regularly sponsors executive-level networking events. Gubin was the founder and director of Women in ...

McCain's tech gap common among his peers
Lower Hudson Journal news, NY - 7 hours ago
Those who do make the journey say they discover a world of entertainment and information that enriches their personal lives and, if they are still working, ...
personal tech - Google News


Ebooks, Scripts, Websites, and more...

Adsense websites

PC Tools Youd Never Think You Need

Do you use Windows standard uninstall feature? How do you... Read More

Plasma TV vs LCD TV

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

The Ipod Mini: Why Its Not that Hot

I got my eyes set on a iPod mini, as... Read More

Maintain Your Computer ? Keep Your Business Running

Maintaining your computer is extremely important ? especially if you... Read More

Customize Your Portable Player with an MP3 Player Accessory

Everywhere you look today people are listening to personal audio... Read More

How to Use SQLXML to Retrieve Data from SQL Server Database?

Using SQL Server 2000 and above versions you can retrieve... Read More

A Tale of Two Regeds

Tech support tells me to type 'regedt32' as opposed to... Read More

EDTV: What You Should Know Before You Make That Purchase

Enhanced Definition Television ? also known as EDTV ? is... Read More

Are You Well Protected?

Winter?the official start of the cold and flu season. Though,... Read More

Keeping Passwords Secure

As the web has evolved, so have the methods of... Read More

Faster Browsing Tips

IF WE say that it was mainly because of the... Read More

Help, I Need a New HDTV! (Part 5 of 5)

Feeling overwhelmed in selecting a new TV? With all the... Read More

Home Video? Bring it On

So you got yourself a digital camcorder. If you want... Read More

Cisco CCNA Certification: Five Things To Do DURING The Exam

There are plenty of articles out there about how to... Read More

A Peek Into the Near Future of Electronics Technology

How long do you think DVDs have around? 20 years?... Read More

EDTV vs HDTV

Confused by EDTV vs HDTV? We don't blame you. The... Read More

Mail-merging: The Principles

About mail-mergingMail-merging is the process of merging variable data and... Read More

Is Desktop Search Deserving?

Google, in their march to stay ahead of the pack... Read More

Digital Cameras: How Many Pixels Do I Need?

With the bewildering number of digital cameras on the market,... Read More

Why Build Your Own Computer System

Have you ever thought about building your own computer system?... Read More

How to Switch to Firefox and Why You should

First things first, what is Firefox? Well, it's a browser.... Read More

Occupational Therapy and PDAs

Occupational Therapy Made EasierMedical downloads for the pda have improved... Read More

Favorite Things To Do With Home Technology

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

Uninstall Windows Media Player 10 and Start Enjoying Your Media Again

Windows Media Player 10 has been full of bugs from... Read More

404 Error Pages: What Are They And How Do You Create One?

We've all seen them, you've been browsing a website and... Read More