数据库存储图片和读取图片
2015-06-09 11:08
375 查看
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Data.SqlClient; namespace WindowsFormsApplication2 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog op = new OpenFileDialog(); DialogResult isok = op.ShowDialog(); if (isok==DialogResult.OK) { //公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。 FileStream fs = new FileStream(op.FileName, FileMode.Open);//mode一个常数,用于确定如何打开或创建文件。 Image img = System.Drawing.Bitmap.FromStream(fs); pictureBox1.Image = img; fs.Close(); } } private void button2_Click(object sender, EventArgs e) { OpenFileDialog op = new OpenFileDialog(); DialogResult isok = op.ShowDialog(); if (isok == DialogResult.OK) { //读取图片存入数据库 FileStream fs = new FileStream(op.FileName, FileMode.Open); BinaryReader br = new BinaryReader(fs);//二进制读取器 byte[] buffer=new byte[fs.Length];//二进制字节数组 buffer=br.ReadBytes((int)fs.Length); SqlConnection conn = new SqlConnection("server=.;database=car;uid=sa;pwd=123"); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "insert into pic values(4,@buffer)"; cmd.Parameters.Clear(); cmd.Parameters.Add("@buffer",buffer); conn.Open(); cmd.ExecuteNonQuery(); cmd.Dispose(); cmd.CommandText = "select top 1 * from pic order by code desc"; SqlDataReader dr = cmd.ExecuteReader(); byte[] by = new byte[fs.Length]; if (dr.Read()) { by=(byte[])(dr["pics"]); } MemoryStream ms = new MemoryStream(by); Image img = System.Drawing.Bitmap.FromStream(ms); pictureBox1.Image = img; } } } }
相关文章推荐
- SD浏览器并选择SD卡上的图片
- Ubuntu 14.04一步一步安装Openstack Kilo版本-5(mysql)
- C#使用SQL数据库按照时间查询方法及注意事项
- SQL中truncate delete drop的区别
- 【转】MySQL GRANT REVOKE用法
- NOSQL----memcached(临时键值存储数据库)在centos下的安装与启动
- mongodb执行js脚本(一)---shell执行
- mongodb执行js脚本(一)---shell执行
- PostgreSQL服务器启动和关闭方法介绍
- 不安装Oracle客户端使用PLSQL
- oracle模糊查询语句使用示例
- SQL注入漏洞全接触(一)
- mysql serverid的理解和可能导致的复制问题
- Windows下mysql忘记root密码的解决方法
- VB6 SQL参数化查询模块
- 使用powerdesigner设计数据字典并导入到mysql数据库
- Oracle 11g安装攻略
- brenda写的sql增删改查模板代码
- MySQL
- Oracle 检查表的数据变动