服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#从数据库读取图片并保存的两种方法

C#从数据库读取图片并保存的两种方法

2022-10-28 12:22风云SH变幻 C#

这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下

方式一:

数据库用的是SQL 2008,数据表中存放的是图片的二进制数据,现在把图片以一种图片格式(如.jpg)导出,然后存放于指定的文件夹中,实现方式如下:

?
1
2
3
4
5
6
7
byte[] bytImg = (byte[])myDAL.DbHelperSQL.Query("SELECT F_Photo FROM myTable WHERE ID=1").Tables[0].Rows[0][0];
if (bytImg != null)
{
 MemoryStream ms = new MemoryStream(bytImg);
 Image img = Image.FromStream(ms);
 img.Save("D:\\me.jpg");
}

方式二:

是windowform程序,数据库已经建好,图像以二进制形式存放在数据库的image表中,我想把符合查询条件的图像(大量)从数据库中读出,显示在form窗体上的一个控件(listview或imagelist还是picturebox?这个不知道那个合适),并保存到选择(或新建)的一个文件夹中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SqlDataAdapter da = new SqlDataAdapter("select * from newpicture", conn);//数据库连接,修改一下数据库的操作。
DataSet ds = new DataSet();
da.Fill(ds, "pic");//将符合条件的选项保存在数据集的pic表里
  
string picdotname;
string picfilename;
int piclength;
int i;
//添加新列
DataColumn newcolumn = ds.Tables["pic"].Columns.Add("pic_url", typeof(string));//给pic表添加新的一列pic_url,保存你的新写出的图片路径
for (i = 0; i < Convert.ToInt16(ds.Tables["pic"].Rows.Count); i++)
{
 picdotname = ds.Tables["pic"].Rows[i]["pic_dot"].ToString();//图片的拓展名,你数据库要有这一列,如jpg
 piclength = Convert.ToInt32(ds.Tables["pic"].Rows[i]["pic_length"]);//数据流的长度
 picfilename = Server.MapPath("新建的文件夹名/") + "添加图片名"+ "." + picdotname;
 FileStream fs = new FileStream(picfilename, FileMode.Create, FileAccess.Write);
 byte[] piccontent = new byte[piclength];
 piccontent = (byte[])ds.Tables["pic"].Rows[i]["pic_content"];
 fs.Write(piccontent, 0, piclength);
 fs.Close();//读出数据流写成图片
 //最后把表绑定到控件上。
 ds.Tables["pic"].Rows[i]["pic_url"] = "temp/temp" + i.ToString() + "." + picdotname;//意思给表pic的第i行,pic_url列里添加文件的路径值。
}
//数据源 = ds.Tables["pic"];//数据绑定

大体是这样吧,里面表名列名很多细节你按你的表修改吧!

以上就是C#从数据库读取图片并保存的两种方法的详细内容,更多关于c# 读取图片并保存的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/wzhk009/p/14202703.html

延伸 · 阅读

精彩推荐
  • C#浅谈C#指针问题

    浅谈C#指针问题

    在C#中,有时候希望通过指针来操作内存,这样可以提高效率。我们可以用unsafe关键字修饰含有指针操作的程序段...

    C#教程网9612021-11-09
  • C#详解C#中的session用法

    详解C#中的session用法

    这篇文章主要介绍了C#中的session用法 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...

    咸鱼翻身①4552022-07-19
  • C#C#很简单而又很经典的一句代码实例

    C#很简单而又很经典的一句代码实例

    这篇文章主要给大家分享介绍了关于C#很简单而又很经典的一句代码,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,...

    不三周助9932022-07-29
  • C#C# 表达式树Expression Trees的知识梳理

    C# 表达式树Expression Trees的知识梳理

    本篇文章主要介绍了表达式树 Expression Trees的基础知识:Lambda 表达式创建表达式树;API 创建表达式树;编译表达式树;执行表达式树;修改表达式树等等,...

    反骨仔(二五仔)9472021-12-16
  • C#C#实现影院售票系统

    C#实现影院售票系统

    这篇文章主要为大家详细介绍了C#实现影院售票系统,解析了售票系统的难点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    可爱的黄油手3372022-03-09
  • C#C#中如何使用redis

    C#中如何使用redis

    这篇文章主要介绍了C#中如何使用redis,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    邱@cnblogs5322022-09-22
  • C#C#实现简单的双色球抽取中奖号码代码

    C#实现简单的双色球抽取中奖号码代码

    这篇文章主要介绍了C#实现简单的双色球抽取中奖号码代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...

    这都不是事11582021-11-29
  • C#简单实现C#窗体程序判断是否闰年

    简单实现C#窗体程序判断是否闰年

    这篇文章主要介绍了简单实现C#窗体程序判断是否闰年的相关代码,禁止窗体调整大小,关闭窗体前的判断,感兴趣的小伙伴们可以参考一下...

    yongh7018792021-11-30