C#实现文件与二进制互转并存入数据库

 更新时间:2015年06月26日 10:13:45   转载 投稿:junjie  
这篇文章主要介绍了C#实现文件与二进制互转并存入数据库,本文直接给出代码实例,代码中包含详细注释,需要的朋友可以参考下
//这个方法是浏览文件对象
    private void button1_Click(object sender, EventArgs e)
    {
      //用户打开文件浏览
      using (OpenFileDialog dialog = new OpenFileDialog())
      {
        //只能单选一个文件
        dialog.Multiselect = false;
        //选择一个文件
        if (dialog.ShowDialog() == DialogResult.OK)
        {
          try
          {
            //把选择的文件路径给txtPath
            this.textBox1.Text = dialog.FileName;
          }
          catch (Exception ex)
          {
            //抛出异常
            throw (ex);
          }
        }
      }
    }

    //关闭
    private void button3_Click(object sender, EventArgs e)
    {
      this.Close();
    }

    //把文件转成二进制流出入数据库
    private void button2_Click(object sender, EventArgs e)
    {
      FileStream fs = new FileStream(textBox1.Text, FileMode.Open);
      BinaryReader br = new BinaryReader(fs);
      Byte[] byData = br.ReadBytes((int)fs.Length);
      fs.Close();
      string conn = "server=.;database=testDB;Uid=sa;Pwd=sa ";
      SqlConnection myconn = new SqlConnection(conn);
      myconn.Open();
      string str = "insert into pro_table (pro_name,pro_file) values('测试文件',@file)";
      SqlCommand mycomm = new SqlCommand(str, myconn);
      mycomm.Parameters.Add("@file", SqlDbType.Binary, byData.Length);
      mycomm.Parameters["@file"].Value = byData;
      mycomm.ExecuteNonQuery();
      myconn.Close();
    }

    //从数据库中把二进制流读出写入还原成文件
    private void button4_Click(object sender, EventArgs e)
    {
      string conn = "server=.;database=testDB;Uid=sa;Pwd=sa ";
      string str = "select pro_file from pro_table where pro_name='测试文件' ";
      SqlConnection myconn = new SqlConnection(conn);
      SqlDataAdapter sda = new SqlDataAdapter(str, conn);
      DataSet myds = new DataSet();
      myconn.Open();
      sda.Fill(myds);
      myconn.Close();
      Byte[] Files = (Byte[])myds.Tables[0].Rows[0]["pro_file"]; 
      BinaryWriter bw = new BinaryWriter(File.Open("D:\\2.rdlc",FileMode.OpenOrCreate));
      bw.Write(Files);
      bw.Close();
       
    }

相关文章

  • 浅谈C#中的Infinity和NaN

    浅谈C#中的Infinity和NaN

    下面小编就为大家带来一篇浅谈C#中的Infinity和NaN。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • C#获取本机IP地址和Mac地址的方法

    C#获取本机IP地址和Mac地址的方法

    这篇文章主要介绍了C#获取本机IP地址和Mac地址的方法,实例分析了C#网络功能的基本技巧,需要的朋友可以参考下
    2015-05-05
  • C#结构体特性实例分析

    C#结构体特性实例分析

    这篇文章主要介绍了C#结构体特性,以实例形式较为详细的分析了C#结构体的功能、定义及相关特性,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • C#实现JSON字符串序列化与反序列化的方法

    C#实现JSON字符串序列化与反序列化的方法

    在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象。
    2017-01-01
  • C#验证给定字符串形式日期是否合法的方法

    C#验证给定字符串形式日期是否合法的方法

    这篇文章主要介绍了C#验证给定字符串形式日期是否合法的方法,实例分析了C#针对字符串及日期的操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • C#使用iTextSharp将PDF转成文本的方法

    C#使用iTextSharp将PDF转成文本的方法

    这篇文章主要介绍了C#使用iTextSharp将PDF转成文本的方法,涉及C#操作pdf文件的相关技巧,需要的朋友可以参考下
    2015-05-05
  • c#使用dynamic类型优化反射的方法

    c#使用dynamic类型优化反射的方法

    dynamic是FrameWork4.0的新特性,下面这篇文章主要给大家介绍了关于c#使用dynamic类型优化反射的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • C#实现餐饮管理系统

    C#实现餐饮管理系统

    这篇文章主要为大家详细介绍了C#实现餐饮管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • C# 输出字符串到文本文件中的实现代码

    C# 输出字符串到文本文件中的实现代码

    本文通过一个简单的代码给大家介绍C# 输出字符串到文本文件中,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05

最新评论