转自: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数据库存取图片相关推荐

  1. delphi使用ADO在sql数据库存取图片的方法

    delphi使用ADO在sql数据库存取图片的方法 新手参考,老鸟绕行 我一直不认为能把代码写的和天书一样的程序员是好的程序员,那不过是因为我真的对delphi也就是略懂皮毛,太深了看不懂. 网上查询 ...

  2. 安卓 mysql读取图片路径_android开发之数据库存取图片

    Android数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型).对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢 ...

  3. 利用pandas读取SQL Sever数据表

    python的pandas库读取SQL sever有两种方法.一种使用pymssql,另一种使用sqlalchemy.这里只是将数据库中的表读取为DataFrame,不进行修改等表操作. 目录 pyt ...

  4. c mysql如何获取照片_MYSQL数据库存取图片等文件(C语言)

    直接把文件放入数据库中比较适合小文件,方便管理,比如头像图片和声音,如果是较大型的文件建议不要直接存进数据库,而是放在服务器,把文件索引放在数据库. MYSQL 中有个数据对象是 BLOB,即 Bin ...

  5. oracle 处理图片,oracle数据库存取图片方法教程-Oracle

    数据库存取图片信息,有两种方式: 1)转换成二进制数据存储,故首先设置对应的数据字段数据类型为Blob. 2)服务器设置路径保存上传文件,数据库中只存储文件路径. 这里采用第一种方式简单示范如何存储并 ...

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

    第一种方式   文件夹与数据库配合 /// <summary>/// 上传图片/// </summary>/// <param name="FUSShopURL ...

  7. 火山安卓Sqlite数据库存取图片

    一.配置模块 勾选火山模块 二.布局 按下图布局 三.创建资产和变量 ①设置资产目录 app目录下创建assets文件夹,并放入图片 ②创建变量 启动类下创建 四.打开创建数据库 ①创建事件 ②设置代 ...

  8. pl/sql 11g 12705_如何用PLSQL导出数据库存表结构信息

    如何用PLSQL导出表结构,不用登陆数据库存,直接用plsql工具怎么导出指定表的表结构呢?下面我就介绍下如何导出. 1:进行plsql后选怎Tools -->> Exports User ...

  9. 【SQL Sever】将SQL Sever中的一个数据表的数据导出为insert语句

    例如:这SQL   Sever中的一张数据表,想要将这张数据表中的数据  转化成一个一个的insert语句存储在txt的文档中,那么不论走到那里这个insert语句一执行,我们就能将这个数据表中的数据 ...

最新文章

  1. 当年修复Linux启动菜单的笔记
  2. Linux下查看/修改系统时区、时间
  3. java逻辑移位和算术移位,关于对移位运算的理解
  4. 【数据结构】二叉树的存储和遍历
  5. Linux包管理速查表
  6. 特征图注意力_从数据结构到算法:图网络方法初探
  7. c语言 cstring “+”: 运算符不起任何作用;应输入带副作用的运算符_国家计算机二级考试C语言选择题高频考点汇总,干货满满...
  8. python机器视觉教材_基于Python的机器视觉实验教学平台设计
  9. 固定旋转_扶手也要用大理石!石材旋转楼梯扶手的设计与安装
  10. 面试没过的程序员都到哪去了?
  11. Inception-ResNet-v1网络结构
  12. 自制计算器(C语言的简单实现)(可多次使用)
  13. axios中文文档整理
  14. 正确模仿别人的php项目,一个模仿oso的php论坛程序(之一)第1/2页
  15. 一款简单好用的开源简繁转换类库
  16. 《认知觉醒》 读书笔记
  17. android第三方浏览器存在泄露用户隐私漏洞
  18. Git上修改分支名称
  19. SpringCloud与微服务Ⅷ --- Hystrix断路器
  20. AAC音频文件添加ADTS头

热门文章

  1. Codeforces 348D Turtles LGV
  2. C# 统计程序执行时间
  3. 洛谷 P1496 火烧赤壁
  4. 2023中国程序员薪酬报告出炉,你拖后腿了吗?
  5. du命令 – 查看空间
  6. Proxmox VE(PVE) 添加Web控制台显示CPU和主板温度
  7. golang学习遇到编译异常信息can‘t load package...
  8. 秦皇岛人才网:如何用你的简历打动HR呢?
  9. 【Proverif语法学习(一)】
  10. jmeter 阶梯式压测