SQL Sever数据库存取图片
转自:http://www.cnblogs.com/hfzsjz/archive/2010/05/21/1740778.html
本实例主要介绍如何将图片存入数据库。将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类、BinaryReader把图片读成字节的形式,赋给一个字节数组,然后用ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中。主要代码如下:
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
string fullpath =openFileDialog1.FileName;//文件路径
FileStream fs = new FileStream(fullpath, FileMode.Open);
byte[] imagebytes =new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
//打开数据库
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");
con.Open();
SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);
com.Parameters.Add("ImageList", SqlDbType.Image);
com.Parameters["ImageList"].Value = imagebytes;
com.ExecuteNonQuery();
con.Close();
}
}
本实例主要介绍如何从数据库中把图片读出来。实现本实例主要是利用SqlDataReader从数据库中把Image字段值读出来,赋给一个byte[]字节数组,然后使用MemoryStream类与Bitmap把图片读取出来。主要代码如下:
private void button1_Click(object sender, EventArgs e)
{
byte[] imagebytes = null;
//打开数据库
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");
con.Open();
SqlCommand com = new SqlCommand("select top 1* from tb_09", con);
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
imagebytes = (byte[])dr.GetValue(1);
}
dr.Close();
com.Clone();
con.Close();
MemoryStream ms = new MemoryStream(imagebytes);
Bitmap bmpt = new Bitmap(ms);
pictureBox1.Image = bmpt;
}
本实例主要介绍如何只允许输入指定图片格式。用OpenFileDialog控件打开图片文件,只要将OpenFileDialog控件的Filter属性指定为特定的图片格式即可。例如,打开.bmp文件的图片,主要代码如下:
this.openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp";
在用pictureBox控件输入图片时,要想统一图片大小,只需把控件的SizeMode属性值设为StretchImage即可,StretchImage值表示图像的大小将调整为控件的大小。这样,图片的大小就统一了。
转载于:https://www.cnblogs.com/yanhaipeng/p/8590316.html
SQL Sever数据库存取图片相关推荐
- delphi使用ADO在sql数据库存取图片的方法
delphi使用ADO在sql数据库存取图片的方法 新手参考,老鸟绕行 我一直不认为能把代码写的和天书一样的程序员是好的程序员,那不过是因为我真的对delphi也就是略懂皮毛,太深了看不懂. 网上查询 ...
- 安卓 mysql读取图片路径_android开发之数据库存取图片
Android数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型).对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢 ...
- 利用pandas读取SQL Sever数据表
python的pandas库读取SQL sever有两种方法.一种使用pymssql,另一种使用sqlalchemy.这里只是将数据库中的表读取为DataFrame,不进行修改等表操作. 目录 pyt ...
- c mysql如何获取照片_MYSQL数据库存取图片等文件(C语言)
直接把文件放入数据库中比较适合小文件,方便管理,比如头像图片和声音,如果是较大型的文件建议不要直接存进数据库,而是放在服务器,把文件索引放在数据库. MYSQL 中有个数据对象是 BLOB,即 Bin ...
- oracle 处理图片,oracle数据库存取图片方法教程-Oracle
数据库存取图片信息,有两种方式: 1)转换成二进制数据存储,故首先设置对应的数据字段数据类型为Blob. 2)服务器设置路径保存上传文件,数据库中只存储文件路径. 这里采用第一种方式简单示范如何存储并 ...
- 小谈c#数据库存取图片的方式
第一种方式 文件夹与数据库配合 /// <summary>/// 上传图片/// </summary>/// <param name="FUSShopURL ...
- 火山安卓Sqlite数据库存取图片
一.配置模块 勾选火山模块 二.布局 按下图布局 三.创建资产和变量 ①设置资产目录 app目录下创建assets文件夹,并放入图片 ②创建变量 启动类下创建 四.打开创建数据库 ①创建事件 ②设置代 ...
- pl/sql 11g 12705_如何用PLSQL导出数据库存表结构信息
如何用PLSQL导出表结构,不用登陆数据库存,直接用plsql工具怎么导出指定表的表结构呢?下面我就介绍下如何导出. 1:进行plsql后选怎Tools -->> Exports User ...
- 【SQL Sever】将SQL Sever中的一个数据表的数据导出为insert语句
例如:这SQL Sever中的一张数据表,想要将这张数据表中的数据 转化成一个一个的insert语句存储在txt的文档中,那么不论走到那里这个insert语句一执行,我们就能将这个数据表中的数据 ...
最新文章
- 当年修复Linux启动菜单的笔记
- Linux下查看/修改系统时区、时间
- java逻辑移位和算术移位,关于对移位运算的理解
- 【数据结构】二叉树的存储和遍历
- Linux包管理速查表
- 特征图注意力_从数据结构到算法:图网络方法初探
- c语言 cstring “+”: 运算符不起任何作用;应输入带副作用的运算符_国家计算机二级考试C语言选择题高频考点汇总,干货满满...
- python机器视觉教材_基于Python的机器视觉实验教学平台设计
- 固定旋转_扶手也要用大理石!石材旋转楼梯扶手的设计与安装
- 面试没过的程序员都到哪去了?
- Inception-ResNet-v1网络结构
- 自制计算器(C语言的简单实现)(可多次使用)
- axios中文文档整理
- 正确模仿别人的php项目,一个模仿oso的php论坛程序(之一)第1/2页
- 一款简单好用的开源简繁转换类库
- 《认知觉醒》 读书笔记
- android第三方浏览器存在泄露用户隐私漏洞
- Git上修改分支名称
- SpringCloud与微服务Ⅷ --- Hystrix断路器
- AAC音频文件添加ADTS头