1、先在Form中放一个PictureBox控件,再放三个按钮。

2、双击打开按钮,在里面写如下代码:

OpenFileDialog open1 = new OpenFileDialog();
DialogResult isok = open1.ShowDialog();
if (isok == DialogResult.OK)
{
string filename = open1.FileName;
FileStream fs = new FileStream(filename,FileMode.Open);
Image img = Image.FromStream(fs);
pictureBox1.Image = img;
fs.Close();
}

3、双击存储到数据库按钮,在里面写如下代码:

OpenFileDialog open1 = new OpenFileDialog();
DialogResult isok = open1.ShowDialog();
if (isok == DialogResult.OK)
{
//根据路径读取图片,把图片存到数据库
string filename = open1.FileName;
FileStream fs = new FileStream(filename, FileMode.Open);
BinaryReader br = new BinaryReader(fs);//二进制读取器
byte[] buffer = br.ReadBytes((int)fs.Length);//图片数据进去到buffer中
br.Close();
fs.Close();
SqlConnection conn = new SqlConnection("server=.;database=图片;user=sa;pwd=123");
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into tupian values(@image)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@image", buffer);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

4、双击读取数据库按钮,在里面写如下代码:

SqlConnection conn = new SqlConnection("server=.;database=图片;user=sa;pwd=123");
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select *from tupian where id=1";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
byte[] buffer = (byte[])dr["image"];
MemoryStream ms = new MemoryStream(buffer);
Image img = Image.FromStream(ms);
pictureBox1.Image = img;
}
conn.Close();

winform把图片存储到数据库的更多相关文章

  1. c# winform 操作oracle数据库的Blob字段,把图片存储到数据库,保存图片到数据库

    ///c# winform 操作oracle数据库的Blob字段,把图片存储到数据库,保存图片到数据库 闲话不多说,直接上代码 using System; using System.Collectio ...

  2. Winform访问本地SQLServer数据库文件

    Winform访问本地SQLServer数据库文件 1.项目中添加config配置,如下: <configuration> <connectionStrings> <ad ...

  3. WinForm里面连接Oracle数据库

    WinForm里面连接Oracle数据库 string oradb = "Data Source=(DESCRIPTION="             + "(ADDRE ...

  4. WinForm c# 备份 还原 数据库(Yc那些事儿 转)

    Yc那些事儿 我愿意 为了我的幸福 奋斗终生     2008-11-17 18:04 WinForm c# 备份 还原 数据库 其实是个非常简单的问题,一个Form,一个Button,一个OpenF ...

  5. 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  6. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  7. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  8. 循序渐进开发WinForm项目(1) --数据库设计和项目框架的生成

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  9. 转:winform 打包自动安装数据库

    vs2005 打包,并自动安装SQL数据库.创建部署项目    1.   在“文件”菜单上指向“添加项目”,然后选择“新建项目”.    2.   在“添加新项目”对话框中,选择“项目类型”窗格中的“ ...

随机推荐

  1. DIV伸缩盒子box

    <div class="div1"> <div class="box"> <div>A</div> <di ...

  2. codeforces724-A. Checking the Calendar 日期题

    首先有这样一个显然的事实,那就是每个月的第一天可以是星期x,x可以取遍1~7 因为日期一直在往后退,总有一年能轮到分割线那天,因为本来其实压根就没有月份的划分,月份划分是人为的 而且我们也不知道开始的 ...

  3. 【HTML】HTML特殊符号【转http://www.cnblogs.com/web-d/archive/2010/04/16/1713298.html】

    HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字.下面就是以字母或数字表示的特殊符号大全.                   ...

  4. 【jQuery 使用】 利用jQuery.prop("outerHTML")获取包含自身在内的HTML元素的HTML代码

    jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然而我们有时候的确需要,可以通过jQuery.prop("outerHTML")的方式设置. ...

  5. Android自动化压力测试之Monkey Test Android常见的错误类型及黑白名单的使用方法(四)

    Android常见的错误类型有两种 1.ANR类型 1)在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸) 2)BroadcastReceiver在10秒内没有执行完毕 2.Crash类型 1)异 ...

  6. LR Analysis:详解FirstBufferTime

    LR Analysis:详解FirstBufferTime   详解 第 一次缓冲时间 测试结果分析过程中,经常遇到第一次缓冲时间 FirstBufferTime,并且发现大 部分系统的响应时间也都浪 ...

  7. java jdbc sqlhelper

    package com.shop.util; import java.sql.*; //SqlHelper类 //定义了数据库连接函数,关闭查询结果集,关闭Statement对象,关闭数据库连接 // ...

  8. C#中Process类的使用

    本文来自: http://www.cnblogs.com/kay/archive/2008/11/25/1340387.html Process 类的作用是对系统进程进行管理,我们使用Process类 ...

  9. TweenMax参数补充

    构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓动的对象 duration:Number ...

  10. HttpClient 使用

    Api支持 HttpClient 是基于Task的异步方法组,支持取消.超时异步特性,其可以分类为以下: Restful: GetAsync,PostAsync,DeleteAsync,PutAsyn ...