数据库存取图片(只是自己学习的记录不保证正确性)

第一步://获取当前选择的图片
this.pictureBox1.Image = Image.FromStream(this.openFileDialog1.OpenFile());
//获取当前图片的路径
string path = openFileDialog1.FileName.ToString();
//将制定路径的图片添加到FileStream类中
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
//通过FileStream对象实例化BinaryReader对象
BinaryReader br = new BinaryReader(fs);
//通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组
byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));第二步://将图片添加到数据库中
string sql="insert into pic values(@pic)";
SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) };
DBHelper.GetExecuteQuery(sql, param);第三步://将图片从数据库中取出
string sql="select * from pic where id=0";
SqlDataReader reader = DBHelper.GetExecuteReader(sql, null);
MemoryStream mss = null;

参考下面三篇,如果不会也没有什么好说了:http://www.cnblogs.com/insus/p/4620420.htmlhttp://www.cnblogs.com/insus/p/4623507.htmlhttp://www.cnblogs.com/insus/p/4632889.html
时间: 2024-08-09 23:53:37

数据库存取图片(只是自己学习的记录不保证正确性)的相关文章

android 数据库存取图片

Android数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型).对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢迎,他们认为,在很多数据库语言里,处理大字段都是不容易的,像图片这样的文件放在数据库里会有问题:对数据库的读写速度永远赶不上文件系统的处理速度,使数据库变得巨大:但也有很多人认为像图片这样的数据存放在数据库中也有好处:易于备份,且备份速度绝对比备份文件快,比较容易数据迁移等等.其实这两种方法都有优缺

复习课程jdbc:使用配置文件properties进行连接数据库,数据库存取图片,批处理,时间戳,事物回滚等等

使用配置文件properties进行连接数据库 首先创建一个file自定义文件名,但是后缀名必须改为.properties(不分大小写):如config.properties: 然后双击config.properties进行编辑:此文件数据是根据键值对来存储的:我们可以把连接数据库的一些连接字符串存储在此文件里:然后用的时候直接读配置文件,到时候更换的时候方便移植和修改. name                                                          

小谈c#数据库存取图片的方式

代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> /// <summary> /// 上传图片 /// </summary> /// <param name="FUSShopURL">FileUpload对象</param> /// <param name="Upl

Java 操作MySQL数据库存取图片以及其它类型文件

一.需要注意的一个问题 1.当数据库字段为blob类型时,必须使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法: 2.当数据库字段为longblob类型时,必须使用PreparedStatement中的setBinaryStream(int,InputStream,long)方法. 否则就会抛出如题的错误: Exception in thread "main" java.lang.AbstractMethodErro

(转载)数据库存取图片并在MVC3中显示在View中

简介:在有些情况下需要将图片转换为二进制流存放在数据库中,当显示时再从数据库中读出来显示在界面上. 本文简单介绍数据库中图片的存取方法,并在MVC3中显示在Razor视图中.仅供初学者参考学习. 1. 将图片转换为二进制流 /// <summary> /// convert a picture file to byte array /// </summary> public byte[] GetBytesFromImage(string filename) { FileStream

数据库存取图片

private void button1_Click(object sender, EventArgs e) //窗体打开文件图片 { openFileDialog1.Filter = "@.jpg|*.jpg|all files|*.*"; DialogResult dr = openFileDialog1.ShowDialog(); if (dr == DialogResult.OK) { FileStream fs = new FileStream(openFileDialog1

Google的Bigtable学习笔记(不保证正确性)

跪求各路大侠指正:1.首先是一个列式存储的简单数据模型的数据库,它比键值对模型/文档模型NoSQL数据库复杂点(也就更强一点).2.它的分布式存储性能依靠于GFS也就对单机房网络有硬性指标.3.它同时提供了相对均衡的顺序读写操作,也就更适用于这样的应用.4.保证SSTable不便,结构简化了读写冲突所产生的问题复杂性.同时允许不同的tablet共享一个SSTable.5.memtable的设计减少了大量的读写冲突,双线程+序列允许归并写入,鉴于较小概率的读恢复操作,major compactio

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被

Activiti 学习笔记记录(二)

上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Activiti就是来走这个流程的.所以我们还需要将Activiti 和 业务结合起来,即部署定义(画一个流程图,生成 bpmn 格式的文件).本章,就来讲 bpmn 的图怎么画? 一.什么是 bpmn 业务流程建模标记法 BPMN (Business Process Model and Notation),是工作