C#将图片以二进制流的方式存入数据库

本文介绍了如何在C#中将图片以二进制流的形式存储到Sqlserver数据库中,以及如何从数据库读取这些图片。首先,文章讨论了创建数据库表并使用Image类型存储图片数据。接着,详细展示了如何使用FileStream和SqlCommand将图片写入数据库,以及如何通过MemoryStream和Image类从数据库中读取图片到picturebox控件。最后,提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C#开发应用程序的过程中,图片一般会存放在文件系统中,当然图片也可以二进制的方式存放到数据库中,不过一般不建议存放在数据库中,因为图片占用的空间还是挺大的,特殊情况下可以考虑将图片存在数据。此文将介绍如何将图片存放在Sqlserver数据库中,并从数据库中读取出图片信息。

在将图片存储到数据库之前,需要先设计数据库表,建议使用sqlserver的数据类型Image类型存储数据,当然也有人使用二进制binary类型存储。

一、将图片写入数据库中的方法

在此方法中使用到FileStream类,该类在此的作用是将图片读取到文件流中。具体实现方法如下:

public void WriteImgToDb()
{
SqlConnection conn=new SqlConnection("server=.;database=pubs;trusted_connection=Yes");
conn.Open();
SqlCommand scmd = null;
string Path = Application.StartupPath + "//Imgren"; //为获取文件的根目录
int j = 0;
FileStream fs=null;
for (int i = 1; i <= 13; i++) //利用循环添加一次添加图片
{
string sql = "insert into tb_Image values(@a,@b)"; //利用参数实现图片添加
scmd = new SqlCommand(sql, scon);

  scmd.Parameters.Add("@a", SqlDbType.Int); 
  scmd.Parameters["@a"].Value = i;   //记住该方法,将值存入参数内 

  byte[] bt = new byte[10240];       //初始化图片大小 
  //创建图片写入流 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值