效果图:

下载链接:

http://download.csdn.net/detail/u010312811/9492402

1.创建一个Winform窗体,窗体分为“数据上传”和“数据读取”两部分;

2.在SQL Server数据库中创建一个名为PeopleInformation的数据表,表中分配三个字段,分别为:ID、Name、Photo;

3.将ID字段设置为主键,自增

图片上传的代码:

     //通过数据流读取本地的图片信息
     FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
     byte[] bt = new byte[fs.Length];
     fs.Read(bt, , bt.Length);
     fs.Close();
     //打开数据库的连接
     string strconn = @"Data Source=LONG-PC\;Initial Catalog=PRACTICE;User ID=istrive;Password=istrive";
     SqlConnection conn = new SqlConnection(strconn);
     conn.Open();
     //将信息上传到 SQL Server
     string strcmd = "insert into PeopleInformation (Name,Photo) values (@name,@photo)";
     SqlCommand cmd = new SqlCommand();
     cmd.Connection = conn;
     cmd.CommandText = strcmd;
     cmd.Parameters.Add(new SqlParameter("@name", txtUpload.Text));
     cmd.Parameters.Add(new SqlParameter("@photo",bt));
     cmd.ExecuteNonQuery();
     //关闭数据库连接
     conn.Close();

图片读取的代码:

     //打开数据库连接
     string strcoon = @"Data Source=LONG-PC\;Initial Catalog=PRACTICE;User ID=istrive;Password=istrive ;Connect Timeout=5";
     SqlConnection conn = new SqlConnection(strcoon);
     conn.Open();
     //查询数据库
     string strcmd = "select Name,Photo from  PeopleInformation where Name = @name";
     SqlCommand cmd = new SqlCommand(strcmd, conn);
     cmd.Parameters.Add(new SqlParameter("@name", name));
     SqlDataAdapter adap = new SqlDataAdapter(cmd);
     DataTable dt = new DataTable();
     cmd.ExecuteNonQuery();
     adap.Fill(dt);
     //将图片信息从 DataTable 以数据流的形式读取
     )
     {
         MemoryStream ms = ]["Photo"]);
         picRead.Image = Image.FromStream(ms, true);
     }

C#读写SQL Server数据库图片的更多相关文章

  1. C#从SQL server数据库中读取l图片和存入图片

    原文:C#从SQL server数据库中读取l图片和存入图片 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStr ...

  2. C#将图片存放到SQL SERVER数据库中的方法

    本文实例讲述了C#将图片存放到SQL SERVER数据库中的方法.分享给大家供大家参考.具体如下: 第一步: ? 1 2 3 4 5 6 7 8 9 10 //获取当前选择的图片 this.pictu ...

  3. C#图片转换成二进制流并且保存到sql server数据库

    注意:我要存储文件二进制流的列的类型是text,不是image类型. 我已经实现了从数据库中读取text类型的二进制流,,现在就是不知道怎么存进去. 我的部分关键代码: StreamReader sr ...

  4. Python 学习 第17篇:从SQL Server数据库读写数据

    在Python语言中,从SQL Server数据库读写数据,通常情况下,都是使用sqlalchemy 包和 pymssql 包的组合,这是因为大多数数据处理程序都需要用到DataFrame对象,它内置 ...

  5. 5、SQL Server数据库、T-SQL

    SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...

  6. 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

    目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程. ...

  7. 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

    前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...

  8. 《SQL Server企业级平台管理实践》读书笔记——关于SQL Server数据库的还原方式

    本篇是继上篇的备份方式,本篇介绍的是还原方案,在SQL Server在2005以上现有的还原方案一般分为以下4个级别的数据还原: 1.数据库完整还原级别: 还原和恢复整个数据库.数据库在还原和恢复操作 ...

  9. SQL SERVER 数据库表同步复制 笔记

    SQL SERVER 数据库表同步复制 笔记 同步复制可运行在不同版本的SQL Server服务之间 环境模拟需要两台数据库192.168.1.1(发布),192.168.1.10(订阅) 1.在发布 ...

随机推荐

  1. win8.1企业版 IIS8.5 安装php5.5.18详细图文

    最近为了做测试需要在电脑上安装php 环境如下 系统 win8.1 企业版 IIS 8.5 PHP:5.5.18 php-5.5.18-nts-Win32-VC11-x64 完整文件名 注意IIS 下 ...

  2. tamper绕WAF小结

    sqlmap有一些非常好的脚本,在如下的地址中你能够发现它们.使用svn检查 https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev 事实上,脚本的 ...

  3. 解决windows系统80端口被占用问题(转)

    在windows下部署web应用(80端口),启动时提示bind 80端口失败 检查端口占用: netstat -ano | findstr 0.0.0.0:80 发现System进程 (pid=4) ...

  4. Eclipse插件checkstyle安装使用

    方法一:   1.Eclipse中,选择Help->Software Updates->Find and Install   2.选择 Search for new features to ...

  5. iOS数据库学习(2)-基础SQL语句

    /* 1. 创建一个数据表 */ CREATE TABLE IF NOT EXISTS t_dog (name text, age integer); CREATE TABLE IF NOT EXIS ...

  6. the usage of linux command "expect"

    #! /usr/bin/expect -f# this script is used to practise the command "expect" #when "li ...

  7. java web

    1,当访问完一个网页的时候,浏览器会有缓存,当你再次输入原来的网站是会有从远端传来的网页缓存,所以在测试的时候要清除缓存才行

  8. 2015年11月26日 Java基础系列(五)异常Exception

    序,异常都是标准类Throwable的一些子类的对象. Throwable类的几个方法 1 getMessage() 返回描述该异常的信息 2 printStackTrace() 把消息和栈的跟踪记录 ...

  9. UIView不接受触摸事件的三种情况

    1.不接收用户交互 userInteractionEnabled = NO 2.隐藏 hidden = YES 3.透明 alpha = 0.0 ~ 0.01 4. 如果子视图的位置超出了父视图的有效 ...

  10. dfs序 + RMQ = LCA

    dfs序是指你用dfs遍历一棵树时,每个节点会按照遍历到的先后顺序得到一个序号.然后你用这些序号,可以把整个遍历过程表示出来. 如上图所示,则整个遍历过程为1 2 3 2 4 5 4 6 4 2 1 ...