知识大全 .Net在SqlServer中的图片存取技术

Posted

篇首语:不要让世界改变你的微笑,用你的微笑改变世界。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .Net在SqlServer中的图片存取技术相关的知识,希望对你有一定的参考价值。

.Net在SqlServer中的图片存取技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文总结如何在 Net Winform和 Net webform()中将图片存入sqlserver中并读取显示的方法

   使用将图片上传并存入SqlServer中 然后从SqlServer中读取并显示出来

  一 上传并存入SqlServer

  数据库结构

  create table test

  

  id identity( )

  FImage image

  

  相关的存储过程

  Create proc UpdateImage

  (

  @UpdateImage Image

  )

  As

  Insert Into test(FImage) values(@UpdateImage)

  GO

  在UpPhoto aspx文件中添加如下:

  <input id= UpPhoto name= UpPhoto runat= server type= file >

  <asp:Button id= btnAdd name= btnAdd runat= server Text= 上传 ></asp:Button>

  然后在后置代码文件UpPhoto aspx cs添加btnAdd按钮的单击事件处理代码:

  private void btnAdd_Click(object sender System EventArgs e)

  

  //获得图象并把图象转换为byte[]

  HttpPostedFile upPhoto=UpPhoto PostedFile;

  int upPhotoLength=upPhoto ContentLength;

  byte[] PhotoArray=new Byte[upPhotoLength];

  Stream PhotoStream=upPhoto InputStream;

  PhotoStream Read(PhotoArray upPhotoLength);

  //连接数据库

  SqlConnection conn=new SqlConnection();

  conn ConnectionString= Data Source=localhost;Database=test;User Id=sa;Pwd=sa ;

  SqlCommand cmd=new SqlCommand( UpdateImage conn);

  cmd CommandType=CommandType StoredProcedure;

  cmd Parameters Add( @UpdateImage SqlDbType Image);

  cmd Parameters[ @UpdateImage ] Value=PhotoArray;

  //如果你希望不使用存储过程来添加图片把上面四句代码改为

  //string strSql= Insert into test(FImage) values(@FImage) ;

  //SqlCommand cmd=new SqlCommand(strSql conn);

  //cmd Parameters Add( @FImage SqlDbType Image);

  //cmd Parameters[ @FImage ] Value=PhotoArray;

  conn Open();

  cmd ExecuteNonQuery();

  conn Close();

  

  二 从SqlServer中读取并显示出来

  在需要显示图片的地方添加如下代码:

  <asp:image id= imgPhoto runat= server ImageUrl= ShowPhoto aspx ></asp:image>

  ShowPhoto aspx主体代码

  private void Page_Load(object sender System EventArgs e)

  

  if(!Page IsPostBack)

  

  SqlConnection conn=new SqlConnection()

  conn ConnectionString= Data Source=localhost;Database=test;User Id=sa;Pwd=sa ;

  string strSql= select * from test where id= ;//这里假设获取id为 的图片

  SqlCommand cmd=new SqlCommand()

  reader Read();

  Response ContentType= application/octet stream ;

  Response BinaryWrite((Byte[])reader[ FImage ]);

  Response End();

  reader Close();

  

  

   在winform中将图片存入sqlserver 并从sqlserver中读取并显示在picturebox中

   存入sqlserver

  数据库结构和使用的存储过过程 同上面的一样

   在窗体中加一个OpenFileDialog控件 命名为ofdSelectPic

   在窗体上添加一个打开文件按钮 添加如下单击事件代码

  Stream ms;

  byte[] picbyte;

  //ofdSelectPic ShowDialog();

  if (ofdSelectPic ShowDialog()==DialogResult OK)

  

  if ((ms=ofdSelectPic OpenFile())!=null)

  

  //MessageBox Show( ok );

  picbyte=new byte[ms Length];

  ms Position= ;

  ms Read(picbyte Convert ToInt (ms Length));

  //MessageBox Show( 读取完毕! );

  //连接数据库

  SqlConnection conn=new SqlConnection();

  conn ConnectionString= Data Source=localhost;Database=test;User Id=sa;Pwd=sa ;

  SqlCommand cmd=new SqlCommand( UpdateImage conn);

  cmd CommandType=CommandType StoredProcedure;

  cmd Parameters Add( @UpdateImage SqlDbType Image);

  cmd Parameters[ @UpdateImage ] Value=picbyte;

  conn Open();

  cmd ExecuteNonQuery();

  conn Close();

  ms Close();

  

  

   读取并显示在picturebox中

   添加一个picturebox 名为ptbShow

   添加一个按钮 添加如下响应事件

  SqlConnection conn=new SqlConnection();

  conn ConnectionString= Data Source=localhost;Database=test;User Id=sa;Pwd=sa ;

  string strSql= select FImage from test where id= ;

  SqlCommand cmd=new SqlCommand(strSql conn);

  conn Open();

  SqlDataReader reader=cmd ExecuteReader();

  reader Read();

  MemoryStream ms=new MemoryStream((byte[])reader[ FImage ]);

  Image image=Image FromStream(ms true);

  reader Close();

  conn Close();

cha138/Article/program/net/201311/13722

相关参考

知识大全 ASP.NET如何存取 SQLServer数据库图片

ASP.NET如何存取SQLServer数据库图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET如何存取SQL Server数据库图片

ASP.NET如何存取SQLServer数据库图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ADO.NET Entity Framework存取数据库中的图片

ADO.NETEntityFramework存取数据库中的图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 ADO.NET Entity Framework存取数据库中图片

ADO.NETEntityFramework存取数据库中图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 在ASP.net 中从sqlserver检索(retrieve)图片

在ASP.net中从sqlserver检索(retrieve)图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 基于SQL Server的Asp.net图片存储技术

基于SQLServer的Asp.net图片存储技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 在Delphi中简单的存取JPEG文件到SQLServer

在Delphi中简单的存取JPEG文件到SQLServer  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 asp.net 将一个图片以二进制值的形式存入Xml文件中的实例代码

asp.net将一个图片以二进制值的形式存入Xml文件中的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 ADO.NET的并行控制与数据存取冲突侦测

ADO.NET的并行控制与数据存取冲突侦测  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 用ado.net对word,excel进行存取

   blob表   idint   namechar   blobimage&