zoukankan      html  css  js  c++  java
  • C#实现文件与二进制互转并存入数据库

    这篇文章主要介绍了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();
            
        }
  • 相关阅读:
    防火墙iptables 设置
    CentOS 6.5系统中安装配置MySQL数据库
    判断服务是否开启,应用是否安装,并安装应用
    判断是移动端还是PC端
    二维码的生成细节和原理
    onclick 常用手册
    PHP json_encode函数中需要注意的地方
    利用PHP SOAP扩展实现简单Web Services
    Symfony2学习笔记之事件分配器
    听 Fabien Potencier 谈Symfony2 之 《What is Symfony2 ?》
  • 原文地址:https://www.cnblogs.com/wanghx-0713/p/7879040.html
Copyright © 2011-2022 走看看