1.读取本地图片到PictureBox

 public void InageShow(PictureBox PB)
{
OpenFileDialog openfile = new OpenFileDialog();
openfile.Title = " 请选择客户端longin的图片";
openfile.Filter = "Login图片 (*.jpg;*.bmp;*png)|*.jpeg;*.jpg;*.bmp;*.png|AllFiles(*.*)|*.*";
if (DialogResult.OK == openfile.ShowDialog())
{
try
{
Bitmap bmp = new Bitmap(openfile.FileName);
pictureBox1.Image = bmp;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; //字面是对当前图片进行了二进制转换
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
byte[] arr = new byte[ms.Length];
ms.Position = ;
ms.Read(arr, , (int)ms.Length);
ms.Close();
//直接返这个值放到数据就行了
string ee = Convert.ToBase64String(arr);
}
catch { }
}
}

2.根据图片路径将本地图片存入数据库

        private void button2_Click(object sender, EventArgs e)
{
//获取用户打开的路径然转换成二进制存入数据库
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP"; if (ofd.ShowDialog() == DialogResult.OK)
{
string filePath = ofd.FileName;//图片路径
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] imageBytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流 string strSql = string.Format("insert into [PointSchool].[dbo].[Table_Image] ([image]) values (@image)");
int count = Write(strSql, imageBytes); if (count > )
{
MessageBox.Show("成功!");
}
else
{
MessageBox.Show("失败!");
}
} }
        private int Write(string strSql, byte[] imageBytes)
{
string connStr = "server=.;database=PointSchool;User =sa; pwd =123"; using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
try
{
conn.Open();
SqlParameter sqlParameter = new SqlParameter("@image", SqlDbType.Image);
sqlParameter.Value = imageBytes;
cmd.Parameters.Add(sqlParameter);
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (Exception e)
{
throw;
}
}
}
}

3.picturebox的Image 转换成二进制存入数据库

    public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
{
//将Image转换成流数据,并保存为byte[]
MemoryStream mstream = new MemoryStream();
imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byData = new Byte[mstream.Length];
mstream.Position = ;
mstream.Read(byData, , byData.Length);
mstream.Close();
return byData;
}
  string strSql = string.Format("insert into [PointSchool].[dbo].[Table_Image] ([image]) values (@image)");
int count = Write(strSql, BBBB);
if (count > )
{
MessageBox.Show("成功!");
}
else
{
MessageBox.Show("失败!");
}

注:添加方法在上面

4.读取二进制转换成图片

        public void PicboxShow(PictureBox pictureBox2)
{
byte[] imagebytes = null; //打开数据库 SqlConnection con = new SqlConnection("server=.;database=PointSchool;User =sa; pwd =123"); con.Open(); SqlCommand com = new SqlCommand("select top 1* from Table_Image", con); SqlDataReader dr = com.ExecuteReader(); while (dr.Read())
{ imagebytes = (byte[])dr.GetValue(); } dr.Close(); com.Clone(); con.Close(); MemoryStream ms = new MemoryStream(imagebytes); Bitmap bmpt = new Bitmap(ms); pictureBox2.Image = bmpt; } pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;

界面图

C# winfrom 存取图片到数据库(二进制,image)的更多相关文章

  1. sqlite3的图片的(二进制数据)存取操作

    sqlite3的图片的(二进制数据)存取操作   前言 上篇介绍了sqlite3的一些常用插入操作方法和注意事项,在实际项目中遇到了图片缓存的问题,由于服务器不是很稳定,且受到外界环境的干扰(例如断电 ...

  2. 将数据库二进制图片导出显示到EPPlus Excel2007中

    1.EPPlus Excel 控件可以参考我的另一篇博客:http://blog.163.com/pei_huiping/blog/static/206573067201281810549984/ 这 ...

  3. C#图片转换成二进制流并且保存到sql server数据库

    注意:我要存储文件二进制流的列的类型是text,不是image类型. 我已经实现了从数据库中读取text类型的二进制流,,现在就是不知道怎么存进去. 我的部分关键代码: StreamReader sr ...

  4. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  5. [转载]mongoDB学习笔记——存取图片(C#)

    作为一个NoSql数据库的代表,存取多媒体数据,应该是强项吧?那么,图片在mongoDB里是如何存取的呢?(其实,关系型数据库存取图片也一点问题没有,所以我看NoSql的强项不在于是否存储多媒体,而在 ...

  6. mongoDB学习笔记——存取图片(C#)

    作为一个NoSql数据库的代表,存取多媒体数据,应该是强项吧?那么,图片在mongoDB里是如何存取的呢?(其实,关系型数据库存取图片也一点问题没有,所以我看NoSql的强项不在于是否存储多媒体,而在 ...

  7. C#图片存入数据库及其读出显示

    <1>将图片转换成二进制插入数据库 FileStream fs = new FileStream("D:\\Add.ico",FileMode.Open); byte[ ...

  8. [转]C#将image中的显示的图片转换成二进制

    本文转自:http://www.cnblogs.com/shuang121/archive/2012/07/09/2582654.html .将Image图像文件存入到数据库中 我们知道数据库里的Im ...

  9. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

随机推荐

  1. 部署ASP.net MVC程序到IIS

    转:http://www.cnblogs.com/piyeyong/archive/2012/08/15/2640004.html 在网上找到一个table,列举了不同的操作系统对应的IIS版本以及配 ...

  2. Spring Boot实践——SpringMVC视图解析

    一.注解说明 在spring-boot+spring mvc 的项目中,有些时候我们需要自己配置一些项目的设置,就会涉及到这三个,那么,他们之间有什么关系呢? 首先,@EnableWebMvc=Web ...

  3. WCF配置Tcp协议

    注意点: 1,<serviceMetadata httpGetEnabled="false"/>   2,       <services>         ...

  4. 微信小程序相关二、css介绍,菜单制作,表单相关,京东注册页面

    一.第二天上午 1.1上午因为有其他的课所以没有去这个课,不过下午看复习的时候的概括,讲了DTD,语法特性,css选择器以及权重,还有一些简单的样式 1.2 DTD Docuement Type 声明 ...

  5. sax解析xml文件,封装到对象中

    创建User.java类 public class User { private String id; private String name; private String age; private ...

  6. 【BZOJ3238】差异【后缀自动机+dp】

    题意 分析 这个题目还是很优秀的.sigma(len(Ti)+len(Tj))的值是一定的=n*(n+1)*(n-1)/2.那么关键就是求任意两个后缀的lcp的和了. 我们怎么求两个后缀的lcp?如果 ...

  7. Xcode8 问题

    ios10 定位问题,在plist中手动添加NSCameraUsageDescription http://www.cocoachina.com/bbs/read.php?tid-1685721.ht ...

  8. ubuntu eclipse opencv环境配置

    项目——Properties——C/C++ Build——Settings 配置包含目录: GCC C++ Compiler   ——Includes /usr/include /usr/local/ ...

  9. module 'tensorflow.contrib.rnn' has no attribute 'core_rnn_cell'

    #tf.contrib.rnn.core_rnn_cell.BasicLSTMCell(lstm_size) tf.contrib.rnn.BasicLSTMCell(lstm_size)

  10. leetcode BFS解题思路

    Word Ladder 思路一:单向bfs, 使用visited数组记录哪些已经访问过了, 访问过的就不允许再次入队, 同时这里想到的是使用26个英文字母,枚举可能的取值, 类似brute force ...