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

所属分类: 软件编程 / C#教程 阅读数: 65
收藏 0 赞 0 分享
//这个方法是浏览文件对象
    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#抽象类与抽象方法详解

这篇文章主要为大家详细介绍了C#抽象类与抽象方法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C#代码实现扑克牌排序的几种方式

今天小编就为大家分享一篇关于C#代码实现扑克牌排序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#泛型概念的简介与泛型的使用

今天小编就为大家分享一篇关于C#泛型概念的简介与泛型的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C# 7.0 使用下划线忽略使用的变量的原因分析

这篇文章主要介绍了C# 7.0 使用下划线忽略使用的变量的原因浅析,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C# 中使用正则表达式匹配字符的含义

正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

C# Dictionary和SortedDictionary的简介

今天小编就为大家分享一篇关于C# Dictionary和SortedDictionary的简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#中SQL Command的基本用法

今天小编就为大家分享一篇关于C#中SQL Command的基本用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataReader访问数据的优点和实例

今天小编就为大家分享一篇关于C#使用SQL DataReader访问数据的优点和实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL Dataset数据集代码实例

今天小编就为大家分享一篇关于的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataAdapter数据适配代码实例

今天小编就为大家分享一篇关于C#使用SQL DataAdapter数据适配代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享
查看更多