<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tips &amp; Tricks</title><link>http://forums.asp.net/53.aspx</link><description>Cool code and exciting examples, provided by our members.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>save retrieve image in SQL SERVER database c sharp</title><link>http://forums.asp.net/thread/3251794.aspx</link><pubDate>Tue, 23 Jun 2009 01:47:04 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3251794</guid><dc:creator>mainiabhay</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3251794.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=53&amp;PostID=3251794</wfw:commentRss><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;My this post is for people who are relatively new to ASP.NET/c-sharp programming and are learning new tricks.&lt;/p&gt;
&lt;p&gt;This trick tells about how to save / retrieve image in database table. i must credit the link below which was of lot of help.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.aspdotnetcodes.com/Insert_Images_Database.aspx"&gt;http://www.aspdotnetcodes.com/Insert_Images_Database.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PLEASE FOLLOW STEPS&amp;nbsp;BELOW:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;STEP 1. prepare database&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Create a field in your table named &amp;quot;AssetImage&amp;quot; with the type Image.&lt;/p&gt;
&lt;p&gt;and field name scanId as type integer, this will be the unique id in the table to refer to that image as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;STEP 2. How to SAVE the image&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You must also have default.aspx file in your project if not then add one.&lt;/p&gt;
&lt;p&gt;add 3 controls in your aspx&amp;nbsp;file in design view.&lt;/p&gt;
&lt;p&gt;1. FileUploader named FileUpload2&lt;/p&gt;
&lt;p&gt;2. Image named ImgScanID&lt;/p&gt;
&lt;p&gt;3. textbox named txtScanId &amp;nbsp;to enter the id to retrieve the image&lt;/p&gt;
&lt;p&gt;go to code behind aspx called default.cs&lt;/p&gt;
&lt;p&gt;and paste the code below, this code will upload the file in database from fileuploader&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;using&lt;/span&gt; System;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;using&lt;/span&gt; System.Data;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;using&lt;/span&gt; System.Data.SqlClient;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;using&lt;/span&gt; System.Configuration;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;using&lt;/span&gt; System.Web.UI.WebControls;&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.ComponentModel;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.IO;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwd"&gt;byte&lt;/span&gt;[] myimage = &lt;span class="kwd"&gt;new byte&lt;/span&gt;[FileUpload2.PostedFile.ContentLength];&lt;br /&gt;&amp;nbsp;&amp;nbsp; HttpPostedFile Image = FileUpload2.PostedFile;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Image.InputStream.Read(myimage, 0, (&lt;span class="kwd"&gt;int&lt;/span&gt;)FileUpload2.PostedFile.ContentLength);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;string&lt;/span&gt; strConnection = ConfigurationManager.ConnectionStrings[&lt;span class="st"&gt;&amp;quot;ConnectionString&amp;quot;&lt;/span&gt;].ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection conn = &lt;span class="kwd"&gt;new&lt;/span&gt; SqlConnection(strConnection);&lt;/p&gt;
&lt;p&gt;//below code will update&amp;nbsp;the existing entries in table, you&amp;nbsp;can use insert statement instead to add&amp;nbsp;new data.&lt;/p&gt;
&lt;p&gt;//i assumed that you have existing data and are saving pictures&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;string&lt;/span&gt; strSQLW = &lt;span class="st"&gt;&amp;quot;UPDATE [Tbl_Name] &amp;quot;&lt;/span&gt; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="st"&gt;&amp;quot;SET [assetimage] = @image &amp;quot;&lt;/span&gt; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="st"&gt;&amp;quot;Where Scanid=&amp;#39;&amp;quot;&lt;/span&gt; + LblScanID.Text + &lt;span class="st"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand cmdSQLWU = &lt;span class="kwd"&gt;new&lt;/span&gt; SqlCommand(strSQLW);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQLWU.Parameters.Add(&lt;span class="st"&gt;&amp;quot;@image&amp;quot;&lt;/span&gt;, SqlDbType.Image, myimage.Length).Value = myimage;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQLWU.Connection = conn;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQLWU.Connection.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQLWU.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;strong&gt;STEP 3. How to RETRIEVE image in field named AssetImage.&lt;/strong&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;Add the following line of code behind default.cs to show the image control named ImgScanID behind click of any button or &lt;font size="2"&gt;&lt;p&gt;Page_Load event.&lt;/p&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&lt;font size="2"&gt;ImgScanID.ImageUrl = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;~/Handler.ashx?id=&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + TxtValue.Text;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;Now Add&amp;nbsp;add new file into your project called GenericHandler and name it as Handler.ashx&lt;/pre&gt;&lt;pre&gt;(Why you have to add this type of file is something you can learn from many sources available, but for now just do as i say &lt;img src="http://forums.asp.net/emoticons/emotion-21.gif" alt="Yes" /&gt; )&lt;/pre&gt;&lt;pre&gt;Erase the existing code and Copy and paste the code below in this handler.ashx file, below code will read the saved image in binary format.&lt;/pre&gt;&lt;pre&gt;&lt;b id="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;lt;%@ WebHandler Language=&lt;span class="st"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; Class=&lt;span class="st"&gt;&amp;quot;Handler&amp;quot;&lt;/span&gt; %&amp;gt;&lt;br /&gt;&lt;b id="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;b id="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;b id="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;&lt;b id="5"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Data;&lt;br /&gt;&lt;b id="6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Data.SqlClient;&lt;br /&gt;&lt;b id="7"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Configuration;&lt;br /&gt;&lt;b id="8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;b id="9"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span class="kwd"&gt;public class&lt;/span&gt; Handler : IHttpHandler {&lt;br /&gt;&lt;b id="10"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b id="11"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;public void&lt;/span&gt; ProcessRequest (HttpContext context) {&lt;br /&gt;&lt;b id="12"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;string&lt;/span&gt; strConnection = ConfigurationManager.ConnectionStrings[&lt;span class="st"&gt;&amp;quot;RevisionConnectionString&amp;quot;&lt;/span&gt;].ToString();&lt;br /&gt;&lt;b id="13"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection conn = &lt;span class="kwd"&gt;new&lt;/span&gt; SqlConnection(strConnection);&lt;br /&gt;&lt;b id="14"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.Open();&lt;br /&gt;&lt;b id="15"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;b id="16"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;string&lt;/span&gt; sql = &lt;span class="st"&gt;&amp;quot;SELECT AssetImage FROM [AssetConfigurationDetails] &amp;quot;&lt;/span&gt; +&lt;br /&gt;&lt;b id="17"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="st"&gt;&amp;quot;WHERE [ScanID]=@ScanID&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;b id="18"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand cmd = &lt;span class="kwd"&gt;new&lt;/span&gt; SqlCommand(sql, conn);&lt;br /&gt;&lt;b id="19"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span class="st"&gt;&amp;quot;@ScanID&amp;quot;&lt;/span&gt;, SqlDbType.Int).Value = context.Request.QueryString[&lt;span class="st"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;];&lt;br /&gt;&lt;b id="20"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Prepare();&lt;br /&gt;&lt;b id="21"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlDataReader dr = cmd.ExecuteReader();&lt;br /&gt;&lt;b id="22"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;if&lt;/span&gt; (dr.Read()) &lt;span class="cmt"&gt;//yup we found our image&lt;/span&gt;&lt;br /&gt;&lt;b id="23"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;b id="24"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.Response.ContentType = dr[&lt;span class="st"&gt;&amp;quot;AssetImage&amp;quot;&lt;/span&gt;].ToString();&lt;br /&gt;&lt;b id="25"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.Response.BinaryWrite((&lt;span class="kwd"&gt;byte&lt;/span&gt;[])dr[&lt;span class="st"&gt;&amp;quot;AssetImage&amp;quot;&lt;/span&gt;]);&lt;br /&gt;&lt;b id="26"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;b id="27"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.Close();&lt;br /&gt;&lt;b id="28"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b id="29"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;b id="30"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;b id="31"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;public bool&lt;/span&gt; IsReusable {&lt;br /&gt;&lt;b id="32"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;get&lt;/span&gt; {&lt;br /&gt;&lt;b id="33"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;return false&lt;/span&gt;;&lt;br /&gt;&lt;b id="34"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;b id="35"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;b id="36"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;b id="37"&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;Folkes i have tried my best to keep it simple, still if you have any questions you may post  them, also dont forget to appreciate &lt;img src="http://forums.asp.net/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;Abhay.&lt;/pre&gt;&lt;pre class="coloredcode"&gt;   &lt;/pre&gt;</description></item></channel></rss>