当前位置: 首页 > news >正文

SqlParameter的作用与用法

public int SavePhoto(string photourl)
{
    FileStream fs = new FileStream(photourl, FileMode.Open, FileAccess.Read);//创建FileStream对象,用于向BinaryReader写入字节数据流
    BinaryReader br = new BinaryReader(fs);//创建BinaryReader对象,用于写入下面的byte数组
    byte[] photo = br.ReadBytes((int)fs.Length); //新建byte数组,写入br中的数据
    br.Close();//记得要关闭br
    fs.Close();//还有fs
    string sql = "update Table1 set photo = @photo where ID = '0'";
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=.\\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\\Database.mdf;User Instance=true";
    SqlCommand cmd = new SqlCommand(sql, conn);
    SqlParameter sp = new SqlParameter("@photo", photo);
    cmd.Parameters.Add(sp);
    try
    {
        conn.Open();
        return (cmd.ExecuteNonQuery());
    }
    catch (Exception)
    {
        return -1;
        throw;
    }
    finally
    {
        conn.Close();
    }
}
 
public void ReadPhoto(string url)
    {
        string sql = "select photo from Table1 where ID = '0'";
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source=.\\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\\Database.mdf;User Instance=true";
        SqlCommand cmd = new SqlCommand(sql, conn);
        try
        {
            conn.Open();
            SqlDataReader reader = cmd.ExecuteReader();//采用SqlDataReader的方法来读取数据
            if (reader.Read())
            {
                byte[] photo = reader[0] as byte[];//将第0列的数据写入byte数组
                FileStream fs = new FileStream(url,FileMode.CreateNew);创建FileStream对象,用于写入字节数据流
                fs.Write(photo,0,photo.Length);//将byte数组中的数据写入fs
                fs.Close();//关闭fs
            }
            reader.Close();//关闭reader
        }
        catch (Exception ex)
        {
            throw;
        }
        finally
        {
            conn.Close();
        }
    }
}

 

来自:http://www.cnblogs.com/pioneerlc/archive/2011/05/21/2053052.html

转载于:https://www.cnblogs.com/biye/articles/2567758.html

相关文章:

  • vue官方推荐的环境
  • managedwifi.codeplex.com
  • 微信小程序之 Swiper(轮播图)
  • 方丈被害子女有没有权利继承遗产?
  • js数组之filter
  • 故障处理记录--nginx反向代理显示不了部分图片
  • TCP通信粘包问题分析和解决
  • javascript笔记:自己写一个jqgrid框架(二)
  • eclipse编译器显示的文件名乱码,活动标签乱码(已解决)
  • Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月25日-7月1日)
  • 公式编辑器打的公式能改变颜色吗?
  • 7月1日我成为MVP啦
  • 直播答题APP突然爆红 直播APP平台迎来社交裂变新契机!
  • 模糊查询+分页
  • SQLServer基本操作
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • passportjs 源码分析
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Wamp集成环境 添加PHP的新版本
  • 笨办法学C 练习34:动态数组
  • 从零开始的无人驾驶 1
  • 对象管理器(defineProperty)学习笔记
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 三分钟教你同步 Visual Studio Code 设置
  • 算法-图和图算法
  • 无服务器化是企业 IT 架构的未来吗?
  • # 数据结构
  • #Linux(Source Insight安装及工程建立)
  • $.each()与$(selector).each()
  • (4)Elastix图像配准:3D图像
  • (HAL库版)freeRTOS移植STMF103
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (八)c52学习之旅-中断实验
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (翻译)terry crowley: 写给程序员
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (一)插入排序
  • (一一四)第九章编程练习
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET 5种线程安全集合
  • .NET 使用 XPath 来读写 XML 文件
  • .netcore如何运行环境安装到Linux服务器
  • .Net程序帮助文档制作
  • .net打印*三角形
  • .net快速开发框架源码分享
  • /proc/stat文件详解(翻译)
  • [ JavaScript ] JSON方法
  • [1127]图形打印 sdutOJ
  • [20170705]diff比较执行结果的内容.txt
  • [20180224]expdp query 写法问题.txt
  • [BUUCTF]-Reverse:reverse3解析
  • [bzoj4240] 有趣的家庭菜园