• C# 文件在数据库 的 存取


    、、、

            /// <summary>
            /// 获取数据库Image字段数据,保存到本地
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {
                string constr = "Data Source=IP地址服务器地址;Initial Catalog=SunS;User ID=sa;Password=1321654";
                SqlConnection con = new SqlConnection(constr);
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = "Select * from FileServer With (NoLock) Where FileName = '" + textBox1.Text + "'";
                cmd.CommandType = CommandType.Text;
                cmd.Connection = con;
                con.Open();
                DataTable dt = new DataTable();
                SqlDataAdapter ad = new SqlDataAdapter(cmd);// cmd.EndExecuteReader();
                ad.Fill(dt);
                con.Close();
                cmd.Dispose();
    
                byte[] pics1 = (byte[])dt.Rows[0]["CONTENT"];// 的值强制转换;
                writefile(pics1, "D://" + textBox1.Text + "");
            }
    
            public void writefile(byte[] pics, string filename)
            {
                FileStream fs = new FileStream(filename, FileMode.Append, FileAccess.Write);
                BinaryWriter bw = new BinaryWriter(fs);
                bw.Write(pics, 0, pics.Length);
                bw.Close();
                fs.Close();
            }
            /// <summary>
            /// 将文件转换成byte数组,写入数据库
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                FileInfo finfo = new FileInfo("D://" + textBox1.Text); //绝对路径
                if (finfo.Exists)
                {
                    SqlConnection conn = new SqlConnection( "Data Source=IP地址服务器地址;Initial Catalog=Sun;User ID=sa;Password=1312313");
                    SqlCommand InsertCommand = new SqlCommand();
                    InsertCommand.Connection = conn;
                    InsertCommand.CommandText = " UPDATE  FileServer SET CONTENT =@Content  WHERE [FILENAME] = '" + textBox1.Text + "'";
                    InsertCommand.Parameters.Add("@Content", SqlDbType.Image, (int)finfo.Length, "CONTENT"); //注意,此处参数Size为写入的字节数
                    //读取文件内容,写入byte数组
                    byte[] content = new byte[finfo.Length];
                    FileStream stream = finfo.OpenRead();
                    stream.Read(content, 0, content.Length);
                    stream.Close();
                    InsertCommand.Parameters["@Content"].Value = content; //为参数赋值
                    try
                    {
                        conn.Open();
                        InsertCommand.ExecuteNonQuery();
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }

    ---

  • 相关阅读:
    eclipse插件
    01 vue入门
    jrebel
    html5,css3炫酷实例-元素
    css文字实例锦集
    海外短信故障已经恢复
    证实海外(含港澳台)短信业务故障
    预计维护时间将延长
    黑龙江地区电信运营商业务中断
    正在进行计划中的停机维护
  • 原文地址:https://www.cnblogs.com/lanyubaicl/p/11162948.html
Copyright © 2020-2023  润新知