C#操作数据库中存取图片文件的方法

 更新时间:2015年10月09日 17:06:49   作者:weiren2006  
这篇文章主要介绍了C#操作数据库中存取图片文件的方法,以实例形式分析了C#将图片存入数据库及从数据库读取图片文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#操作数据库中存取图片文件的方法。分享给大家供大家参考。具体如下:

private string sqlconnstr = "Data Source=.;Database=db_test;User id=sa;PWD=123456";
/*功能:把一种图片插入到数据库中
 *返回值:无
 */
void InsertImageToDB()
{
  //将需要存储的图片读取为数据流
  FileStream fs = new FileStream(@"D:/Bear.jpg", FileMode.Open, FileAccess.Read);
  Byte[] byte_fs = new byte[fs.Length];
  fs.Read(byte_fs, 0, Convert.ToInt32(fs.Length));
  fs.Close();
  //建立数据库连接
  SqlConnection conn = new SqlConnection(sqlconnstr);
  conn.Open();
  SqlCommand cmd = new SqlCommand();
  cmd.Connection = conn;
  cmd.CommandText = "insert into tb_test(image_id,image_file) values(@image_id,@image_file)";
  SqlParameter[] param = new SqlParameter[2];
  param[0] = new SqlParameter("@image_id", SqlDbType.Int);
  param[0].Value = 1;
  param[1] = new sqlParameter("@image_file", SqlDbType.Image);
  param[1].Value = byte_fs;
  for (int index = 0; index < 2; index++)
  {
 cmd.Parameters.Add(param[i]);
  }
  //执行SQL语句
  cmd.ExecuteNonQuery();
  conn.Close();
}
/*功能:从数据库中读取图像文件,并显示在PictureBox控件中
 *返回值:无
 */
void GetImageFromDB()
{
  byte[] Data = new byte[0];
  //建立数据库连接
  SqlConnection conn = new SqlConnection(sqlconnstr);
  conn.Open();
  SqlCommand cmd = new SqlCommand();
  cmd.Connection = conn;
  cmd.CommandText = "select * from tb_parent";
  SqlDataReader sdr = cmd.ExecuteReader();
  sdr.Read();
  Data = (byte[])sdr["parent_image"];//读取第一个图片的位流
  MemoryStream mystream = new MemoryStream(Data);
  //用指定的数据流来创建一个image图片
  System.Drawing.Image picbImage = System.Drawing.Image.FromStream(mystream, true);
  mystream.Close();
  picturebox1.Image = picbImage;
  conn.Close();
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#利用接口实现多语种选择功能

    C#利用接口实现多语种选择功能

    这篇文章主要为大家详细介绍了如何C#利用接口实现多语种选择功能,即多语言切换的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-02-02
  • Silverlight将图片转换为byte的实现代码

    Silverlight将图片转换为byte的实现代码

    这篇文章主要介绍了Silverlight将图片转换为byte的实现代码,需要的朋友可以参考下
    2015-11-11
  • 在C#中使用指针的示例代码

    在C#中使用指针的示例代码

    C#向开发人员隐藏了大部分基本内存管理操作,因为它使用了垃圾回收器和引用,但是,有时候我们也需要直接访问内存,例如:进行平台调用,性能优化等等,本文给大家介绍了在C#中使用指针的示例代码,需要的朋友可以参考下
    2024-10-10
  • unity实现屏幕上写字效果

    unity实现屏幕上写字效果

    这篇文章主要为大家详细介绍了unity实现屏幕上写字效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 详解C#中的属性和属性的使用

    详解C#中的属性和属性的使用

    这篇文章主要介绍了C#中的属性和属性的使用,包括get访问器和set访问器等内容,需要的朋友可以参考下
    2016-01-01
  • C#实现航班查询及预订功能

    C#实现航班查询及预订功能

    这篇文章给大家介绍利用C#完成航班机票信息查询,航班机票预定等功能。代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-02-02
  • C#中反射和扩展方法如何运用

    C#中反射和扩展方法如何运用

    这篇文章主要为大家详细介绍了C#中反射和扩展方法的运用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#操作读取、写入XML文档的实用方法

    C#操作读取、写入XML文档的实用方法

    这篇文章主要介绍了C#操作读取、写入XML文档的实用方法,即即用.NET本身提供的Deserialize和Serialize进行反序列化和序列化XML文档,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C#域名解析简单实现方法

    C#域名解析简单实现方法

    这篇文章主要介绍了C#域名解析简单实现方法,可实现针对域名解析显示出主机名、IP地址、别名等功能,需要的朋友可以参考下
    2015-07-07
  • C#中+=是什么意思及+=的用法

    C#中+=是什么意思及+=的用法

    这篇文章主要介绍了C#中+=是什么意思及+=的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论