您的位置:首页 > 数据库

在winform中将图片存入sqlserver,并从sqlserver中读取并显示在picturebox中

2004-05-10 14:20 731 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐