Storing and Retrieving Images from SQL Server using Microsoft .NET
原文?Storing and Retrieving Images from SQL Server using Microsoft .NET
- Download source - 19.6 Kb
Introduction
This article is about storing and retrieving images from database in Microsoft .NET using C#.
Tools Used
- SQL Server 2000
- Microsoft .NET Version 1.1
- C# (Windows Forms based application)
Storing Images
Here is the script I used:
?Collapse|?Copy Code CREATE TABLE [dbo].[tblImgData] ([ID] [int] NOT NULL ,[Name] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,[Picture] [image] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]Complete Load Image Code
?Collapse|?Copy Code protected void LoadImage() {try{this.openFileDialog1.ShowDialog(this);string strFn=this.openFileDialog1.FileName;this.pictureBox1.Image=Image.FromFile(strFn);FileInfo fiImage=new FileInfo(strFn);this.m_lImageFileLength=fiImage.Length;FileStream fs=new FileStream(strFn,FileMode.Open, FileAccess.Read,FileShare.Read);m_barrImg=new byte[Convert.ToInt32(this.m_lImageFileLength)];int iBytesRead = fs.Read(m_barrImg,0, Convert.ToInt32(this.m_lImageFileLength));fs.Close();}catch(Exception ex){MessageBox.Show(ex.Message);} }Notice “@Picture” has “SqlDbType.Image” because it is of?IMAGE?type Field.
“this.m_barrImg” is a byte array which we filled in the previous step.
Complete Save Image Code
?Collapse|?Copy Code private void btnSave_Click(object sender, System.EventArgs e) {try{this.sqlConnection1.Open();if (sqlCommand1.Parameters.Count ==0 ){this.sqlCommand1.CommandText="INSERT INTO tblImgData(ID," + " Name,Picture) values(@ID,@Name,@Picture)";this.sqlCommand1.Parameters.Add("@ID", System.Data.SqlDbType.Int,4);this.sqlCommand1.Parameters.Add("@Name", System.Data.SqlDbType.VarChar,50);this.sqlCommand1.Parameters.Add("@Picture", System.Data.SqlDbType.Image);}this.sqlCommand1.Parameters["@ID"].Value=this.editID.Text;this.sqlCommand1.Parameters["@Name"].Value=this.editName.Text;this.sqlCommand1.Parameters["@Picture"].Value=this.m_barrImg;int iresult=this.sqlCommand1.ExecuteNonQuery();MessageBox.Show(Convert.ToString(iresult));}catch(Exception ex){MessageBox.Show(ex.Message);}finally{this.sqlConnection1.Close();} }Retrieving Image
Retrieving images from the database is the exact reverse process of saving images to the database.
As the execute scalar returns data of “Object” data type, we cast it to?byte?array.
Complete Image Retrieving Code
?Collapse|?Copy Code private void btnLoad_Click(object sender, System.EventArgs e) {try{SqlCommand cmdSelect=new SqlCommand("select Picture" + " from tblImgData where ID=@ID",this.sqlConnection1);cmdSelect.Parameters.Add("@ID",SqlDbType.Int,4);cmdSelect.Parameters["@ID"].Value=this.editID.Text;this.sqlConnection1.Open();byte[] barrImg=(byte[])cmdSelect.ExecuteScalar();string strfn=Convert.ToString(DateTime.Now.ToFileTime());FileStream fs=new FileStream(strfn, FileMode.CreateNew, FileAccess.Write);fs.Write(barrImg,0,barrImg.Length);fs.Flush();fs.Close();pictureBox1.Image=Image.FromFile(strfn);}catch(Exception ex){MessageBox.Show(ex.Message);}finally{this.sqlConnection1.Close();} }Bibliography
- Retrieving Images from SQL Server in ASP.NET
- Images, Thumbnails, SQL Server, and ASP.NET - Level 200
License
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found?here
posted on 2014-04-23 23:05 NET未來之路 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/lonelyxmas/p/3684213.html
總結
以上是生活随笔為你收集整理的Storing and Retrieving Images from SQL Server using Microsoft .NET的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 悄悄告诉你如何快速突破大厂逻辑题
- 下一篇: 【设计模式】五、单例模式(独一无二的对象