C#存取数据库图片

form1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;

namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           // WebRequest wr = HttpWebRequest.Create("http://www.itnba.com");

        }

        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "jpg图|*.jpg|png图|*.png|gif图|*.gif|所有文件|*.*";
            DialogResult isok = openFileDialog1.ShowDialog();

            if (isok == DialogResult.OK)
            {
                //开始使用流读取
                FileStream fs = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
                //使用流读取器,把文件流对象中的内容读取出来,转换成字符串或者其他对应的数据
                BinaryReader br = new BinaryReader(fs);//二进制读取器
                byte[] imgbytes = br.ReadBytes((int)fs.Length);//将流中数据读取成byte数组存入数组变量中

                //连接数据库,新增数据
                SqlConnection conn = new SqlConnection("server=.;database=aaa;user=sa;pwd=123");
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "insert into imgtable values(@img)";                //数据库操作语句
                cmd.Parameters.Clear();
                cmd.Parameters.Add("@img",imgbytes);
                conn.Open();

                cmd.ExecuteNonQuery();

                conn.Close();

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //连接数据库,新增数据
            SqlConnection conn = new SqlConnection("server=.;database=aaa;user=sa;pwd=123");

            SqlCommand cmd = conn.CreateCommand();

            cmd.CommandText = "select top 1 *from imgtable order by ids desc";

            conn.Open();
             //ExecuteReader 数据库读取用的
            SqlDataReader dr = cmd.ExecuteReader();
            byte[] imgbytes = null;          //定义一个数组
            if (dr.Read())
            {
               imgbytes  = (byte[])dr["images"];
            }

            conn.Close();
            //如何把二进制数据,转换成一个Image类型,来给piceturebox赋值
            //内存流
            MemoryStream ms = new MemoryStream(imgbytes);
            Image img = Image.FromStream(ms);

            pictureBox2.Image = img;

           // Image img = Image.
        }

        private void button3_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "jpg图|*.jpg|png图|*.png|gif图|*.gif|所有文件|*.*";
            DialogResult isok = openFileDialog1.ShowDialog();

            if (isok == DialogResult.OK)
            {
                Image img = Image.FromFile(openFileDialog1.FileName);
                pictureBox1.Image = img;
            }
        }
    }
}

  

时间: 2024-10-10 08:27:12

C#存取数据库图片的相关文章

C# SQLserver数据库图片存取

#region 数据库图片存取 /// <summary> /// <strong><span style="color:#ff0000;">导入图片到数据库</span></strong> /// </summary> /// <param name="filePath"></param> public void Import(string filePath) { st

[.NET 4.5] ADO.NET / ASP.NET 使用 Async 和 Await 异步 存取数据库

此为文章备份,原文出处(我的网站)  [.NET 4.5] ADO.NET / ASP.NET 使用 Async 和 Await 异步 存取数据库 http://www.dotblogs.com.tw/mis2000lab/archive/2014/05/08/ado.net4.5_async_await_20140508.aspx 以前的ADO.NET也能作  "异步"(Async,大陆说法:异步),可以参考 KKBruce 2009/11月的文章: SQLCOMMAND的异步行程

php和js对数据库图片进行等比缩放

JS 对某图片的等比缩放 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&

ASP基础教程:ADO存取数据库时如何分页显示

<动态网站设计十八般武艺 --ASP 篇>一文从第一期至今已和朋友们一起度过了大半个年头,相信通过在这一段时间中的学习.实践到再学习.再实践,大家已经能够熟练运用 ASP 的内建对象. ActiveX 组件去编写一些基本的 ASP 应用程序.从我收到的朋友们的来信中可以明显的感觉到,大家的 ASP 功力正不断地提升.最近很多朋友来信希望我写一些 ASP 在现实运用中的实例.因此,从本期开始我决定将<动态网站设计十八般武艺 --ASP 篇>的定位从介绍和学习 ASP 基础知识转向到

asp数据库编程:ADO 存取数据库时如何分页显示

∈裁词?ADO 存取数据库时的分页显示?如果你使用过目前众多网站上的电子公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目的帖子数,譬如 20 条.想不想了解如何实现分页显示?请看本文! <动态网站设计十八般武艺 --ASP 篇>一文从第一期至今已和朋友们一起度过了大半个年头,相信通过在这一段时间中的学习.实践到再学习.再实践,大家已经能够熟练运用 ASP 的内建对象. ActiveX 组件去编写

我爱Java系列---【SpringMVC传统方式的文件上传和前端获取数据库图片在页面显示】

一.文件上传 说明:传统方式的文件上传,指的是我们上传的文件和访问的应用存在于同一台服务器上.并且上传完成之后,浏览器可能跳转. 1. 第一步:创建 maven 工程并导入 commons-fileupload 坐标 1 <dependency> 2 <groupId>commons-fileupload</groupId> 3 <artifactId>commons-fileupload</artifactId> 4 <version&g

C#_图片存取数据库Winform

#region 用于在PictureBox控件中显示选择的图片        /// <summary>        /// 用于在PictureBox控件中显示选择的图片        /// </summary>        /// <param name="openF">图像名</param>        /// <param name="MyImage">pictureBox控件ID</

python爬虫——爬取NUS-WIDE数据库图片

实验室需要NUS-WIDE数据库中的原图,数据集的地址为http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm   由于这个数据只给了每个图片的URL,所以需要一个小爬虫程序来爬取这些图片.在图片的下载过程中建议使用VPN.由于一些URL已经失效,所以会下载一些无效的图片. 1 # PYTHON 2.7 Ubuntu 14.04 2 nuswide = "$NUS-WIDE-urls_ROOT" #the location of your nu

MyBatis框架(三)动态SQL,分页,二进制存入数据库图片

一.动态sql语句,分页 1, <if>条件 <if test="key!=null"> 拼接sql语句 </if> 2, <choose><when><otherwise> 注意:只能执行一个分支 <choose> <when test="key=='value'"> 拼接sql语句 </when> <when test="key=='val