zoukankan      html  css  js  c++  java
  • 在winform中将图片存入sqlserver,并从sqlserver中读取并显示在picturebox中

    1,存入sqlserver
      数据库结构
      create table test
      {
         id identity(1,1),
         FImage image
      }
     1.1,在窗体中加一个OpenFileDialog控件,命名为ofdSelectPic
     1.2,在窗体上添加一个打开文件按钮,添加如下单击事件代码:
        Stream ms;
      byte[] picbyte;
      //ofdSelectPic.ShowDialog();
      if (ofdSelectPic.ShowDialog()==DialogResult.OK)
      {
       if ((ms=ofdSelectPic.OpenFile())!=null)
       {
        //MessageBox.Show("ok");
        picbyte=new byte[ms.Length];
        ms.Position=0;
        ms.Read(picbyte,0,Convert.ToInt32(ms.Length));
        //MessageBox.Show("读取完毕!");

        //连接数据库
        SqlConnection conn=new SqlConnection();
        conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

        SqlCommand cmd=new SqlCommand("UpdateImage",conn);
        cmd.CommandType=CommandType.StoredProcedure;

        cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);
        cmd.Parameters["@UpdateImage"].Value=picbyte;

        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

        ms.Close();
        }
       }

    2,读取并显示在picturebox中
     2.1 添加一个picturebox,名为ptbShow
     2.2 添加一个按钮,添加如下响应事件:
          SqlConnection conn=new SqlConnection();
     conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

     string strSql="select FImage from test where id=1";

     SqlCommand cmd=new SqlCommand(strSql,conn);

     conn.Open();
     SqlDataReader reader=cmd.ExecuteReader();
            reader.Read();

     MemoryStream ms=new MemoryStream((byte[])reader["FImage"]);


     Image image=Image.FromStream(ms,true);

            reader.Close();
            conn.Close();

     ptbShow.Image=image;

  • 相关阅读:
    python爬取酷狗音乐
    python爬取酷我音乐
    排列组合+逆元模板
    python爬取QQVIP音乐
    一维数组的动态和
    买卖股票的最佳时机 II
    最佳买卖股票时机含冷冻期
    买卖股票的最佳时机
    子集
    最短无序连续子数组
  • 原文地址:https://www.cnblogs.com/kwklover/p/8773.html
Copyright © 2011-2022 走看看