• 保存/读取图片到数据库


     private void SaveImage(string fileName)
            
    {
                
    // Read the file into a byte array
                using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                
    {
                    
    byte[] imageData = new Byte[fs.Length];
                    fs.Read(imageData, 
    0, (int)fs.Length);

                    
    using (SqlConnection conn = new SqlConnection(connectionString))
                    
    {
                        
    string sql = "insert into image (imagefilename,blobdata) values (@filename,@blobdata)";
                        SqlCommand cmd 
    = new SqlCommand(sql, conn);
                        cmd.Parameters.Add(
    "@filename",SqlDbType.Text);
                        cmd.Parameters[
    "@filename"].Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(
    "@blobdata", SqlDbType.Image);
                        cmd.Parameters[
    "@blobdata"].Direction = ParameterDirection.Input;
                        
    // Store the byte array within the image field
                        cmd.Parameters["@filename"].Value = fileName;
                        cmd.Parameters[
    "@blobdata"].Value = imageData;
                        conn.Open();
                        
    if (cmd.ExecuteNonQuery() == 1)
                        
    {
                            MessageBox.Show(
    "Done");
                        }

                    }

                }

            }


            
    private void LoadImage(string fileName)
            
    {
                
    using (SqlConnection conn = new SqlConnection(connectionString))
                
    {
                    
    string sql = "select blobdata from Image where ImageFileName like @filename";
                    SqlCommand cmd 
    = new SqlCommand(sql, conn);
                    cmd.Parameters.Add(
    "@filename", SqlDbType.Text);
                    cmd.Parameters[
    "@filename"].Value = fileName;

                    conn.Open();

                    
    object objImage = cmd.ExecuteScalar();

                    
    byte[] buffer = (byte[])objImage;

                    BinaryWriter bw 
    = new BinaryWriter(new FileStream("C:\\abcd.png", FileMode.Create));
                    bw.Write(buffer);
                    bw.Close();

                  MemoryStream ms 
    = new MemoryStream(buffer);
                    Image bgImage 
    = Image.FromStream(ms);
                    ms.Close();
                    
    this.BackgroundImage = bgImage;
                }

                
            }

  • 相关阅读:
    【转】周杰伦在哪几届金曲奖中分别得的哪些奖?
    【转】Linux shell的&&和||
    【转】Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe
    【转】Notepad++中Windows,Unix,Mac三种格式之间的转换
    【转】vim环境设置和自动对齐
    【转】Vim自动补全插件----YouCompleteMe安装与配置
    【转】foxmail邮箱我已进清理了为什么还是说我的邮箱已满
    强化学习
    奇人有奇书(李渔、张岱、陈继儒、吴敬梓)
    奇人有奇书(李渔、张岱、陈继儒、吴敬梓)
  • 原文地址:https://www.cnblogs.com/sskset/p/591771.html
Copyright © 2020-2023  润新知