C#直接将图片信息存放在数据库

最近做了个小项目,需要把图片信息直接存放在数据库,而不是把图片路径存放数据库中,具体做法是

数据库表中photo的字段类型为image类型

string filepath = @"C:\Users\Administrator\Desktop\照片\1.jpg";  //本地图片的路径
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
int length = Convert.ToInt32(fs.Length);
byte[] b = new byte[length];
fs.Read(b, 0, length);
string sql = "update lkzpb set [email protected],[email protected] where lk_id=" + count;
SqlParameter pms = new SqlParameter("@photo", SqlDbType.Image);
pms.Value = b;

//执行更新数据库的操作,sqlhelper是封装好的对数据库的操作
result += SqlHelper.ExecuteNonQuery(sql, pms);

执行完以上操作就把图片存放到数据库中相应的字段了

下面将获取数据库中的图片信息并将其显示在picturebox中

首先在winform界面上添加一个picturebox,名字为picturebox1

string strSearch = "select * from lkzpb where lk_id=1";

//将查询到的数据存放在一个DataTable中
DataTable dt = SqlHelper.ExecuteDataTable(strSearch);

//获取数据库中photo字段的信息,将其强转为byte[]数组类型,在dt中第0行第一列为photo的信息
byte[] bytes = (byte[])dt.Rows[0][1];

Stream stream = new MemoryStream(bytes);

int length = Convert.ToInt32(stream.Length);
byte[] insertbte = new byte[length];
stream.Read(insertbte, 0, length);

Image image = Image.FromStream(stream, true);

//在picturebox中显示图片
pictureBox1.Image = image;

时间: 2024-10-13 17:46:16

C#直接将图片信息存放在数据库的相关文章

Spring Security 3 (三) 用户数据存放于数据库

上章回顾: 上一章中,我们将用户名.密码以及用户对应的角色都配置于applicationContext-security.xml中,基本实现了我们能控制用户的访问权限.但是在现实开发中,我们不可能将用户信息硬编码在配置文件中,通常我们都是存放到数据中.同时我们应该对用户的密码进行加密存储. 目标: 1.将用户信息存放于数据库 2.对用户的密码进行加密 详细操作: 1.其他代码参考上一章中代码.本章中,首先我们要创建一张数据表来记录我们的用户信息.SpringSecurity提供的验证机制中,首先

springmvc 文件下传、上载、预览。以二进制形式存放到数据库(转载)

springmvc 文件上传.下载.预览.以二进制形式存放到数据库.数据库中的关于传入附件的字段我写了2个:一个存放内容accessory,一个存放文件的后缀filetype 上传:首先需要2个必须的jar:commons.io-1.4.0.jarcommons.fileupload-1.2.0.jar XXX-servlet.xml中写入上传拦截:<bean id="multipartResolver" class="org.springframework.web.m

爬取西刺网代理ip,并把其存放mysql数据库

需求: 获取西刺网代理ip信息,包括ip地址.端口号.ip类型 那,如何解决这个问题? 分析页面结构和url设计得知: 数据都在本页面可以全部获取,没有单独的详情页面 下一页通过更改当前页面最后url后缀进行跳转页面,那我实现URL的拼接不就解决这个问题了 那,软件的运行环境? python3.5 scrapy twisted request pymysql 以上是第三方包,通过pip安装 MySQL服务 其中db,user,password的值根据实际情况而定 #!/usr/bin/pytho

jsp+servlet对于单选按钮和复选框取值并且存放到数据库中

index.jsp <form action="index.gj?method=toradio" method="post"> <div align="center"> <h1>请选择</h1> 性别:<input type="radio" name="sex" value="1">男 <input type="

SqlServer定时备份数据库和定时杀死数据库死锁解决

PS:Sqlserver 2008 R2,windows 8 64位 1.备份数据库 因为要备份,我们就要用到Sqlserver的代理,默认数据库的代理是不开启的.需要我们手动开启的. 执行备份数据库脚本,现在将脚本公布,其实将这一段代码中需要保存的文件路径和数据库名称替换一下就可以实现备份了.但是还没有达到定时备份的目的 ? 1 2 3 4 5 6 7 8 9 10 11 --自动备份并保存最近5天的SQL数据库作业脚本 宋彪 20130310 DECLARE @filename VARCHA

mybatis连接mysql数据库插入中文乱码

对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集.我试过修改现有数据库字符集为UFT -8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???).重建库时选择字符集为UTF-8之后,中文正常显示了. 对于第二个问题,是这样 的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插

84. 从视图索引说Notes数据库(下)

作用和代价上文介绍了关系型数据库里的索引.Notes数据库里的索引隐藏在视图概念里(本文的讨论只针对Notes的视图索引,不包含全文索引.).开发人员创建的视图仅仅是存放在数据库里的一条设计文档,数据库引擎会依据它创建和更新索引.关系型数据库里的索引是从记录中抽取的数据排序而组成的数据结构(主要是B树),Notes视图的索引还包括未排序的列.计算值.分类.总计等等数据(数据结构仍然是B树,如果运气足够好的话,你会遇到Notes报出B-tree structure is invalid的错误).用

mysql数据库从删库到跑路之mysql:视图、触发器、事务、存储过程、函数

一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用

SuSE Linux 11 下informix数据库安装配置

Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族.现在用的人越来越少啦,各大运营商倒是还有用的,工作需要,还是要学习一下安装. 系统: SUSE Linux Enterprise Server 11 (x86_64) 一.安装 1.以root用户身份创建informix组和用户,假设informix用户的HOME目录为/opt/informix # groupadd  informix # useradd  -g  informix  -d  /opt/informix