C#中图像与数据库相关操作中几点要注意的
来源:互联网 发布:迪杰斯特拉算法 c++ 编辑:程序博客网 时间:2024/06/12 19:36
1、首先从文件中读取要加到数据库中的图片,将它转换成byte[]类型,这样就可以加到数据库中去了。
FileStream fs = new FileStream(openPicForRead.FileName, FileMode.OpenOrCreate, FileAccess.Read);
MyData = new byte[fs.Length];
fs.Read(MyData, 0, Convert.ToInt32(fs.Length));
fs.Close();
2、从数据库中读取出来并在PictrueBox中显示,用下面这种方法比较重要,如果用FileForm生成临时文件的话如果打开第二次时就会提示文件正在使用。注意一定要用MemoryStream。
byte[] readimage = new byte[0];
int piccount = DataBind.Tables["T_Equipment"].Rows.Count;
readimage = (byte[])DataBind.Tables["T_Equipment"].Rows[piccount-1]["Photo"];
if (readimage.Length !=0)
{
MemoryStream stmBLOBData = new MemoryStream(readimage);
picEquipment.Image = Image.FromStream(stmBLOBData);
}
3、将PictureBox.Image加到数据库中,为什么要提到这一点呢?因为在修改一条记录时可能不会修改它的图像字段,所以只能把它的显示结果重新写回去,当然也可以在Update时不修改它。
MyData = new byte[0];
MemoryStream ms=new MemoryStream();
PictureBox1.Image.Save(ms,ImageFormat.Jpeg);
MyData = ms.GetBuffer();
最后将MyData写回去。
第三条的命名空间为using System.Drawing.Imaging;
FileStream fs = new FileStream(openPicForRead.FileName, FileMode.OpenOrCreate, FileAccess.Read);
MyData = new byte[fs.Length];
fs.Read(MyData, 0, Convert.ToInt32(fs.Length));
fs.Close();
2、从数据库中读取出来并在PictrueBox中显示,用下面这种方法比较重要,如果用FileForm生成临时文件的话如果打开第二次时就会提示文件正在使用。注意一定要用MemoryStream。
byte[] readimage = new byte[0];
int piccount = DataBind.Tables["T_Equipment"].Rows.Count;
readimage = (byte[])DataBind.Tables["T_Equipment"].Rows[piccount-1]["Photo"];
if (readimage.Length !=0)
{
MemoryStream stmBLOBData = new MemoryStream(readimage);
picEquipment.Image = Image.FromStream(stmBLOBData);
}
3、将PictureBox.Image加到数据库中,为什么要提到这一点呢?因为在修改一条记录时可能不会修改它的图像字段,所以只能把它的显示结果重新写回去,当然也可以在Update时不修改它。
MyData = new byte[0];
MemoryStream ms=new MemoryStream();
PictureBox1.Image.Save(ms,ImageFormat.Jpeg);
MyData = ms.GetBuffer();
最后将MyData写回去。
第三条的命名空间为using System.Drawing.Imaging;
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=457667
- C#中图像与数据库相关操作中几点要注意的
- C#中与日期相关的操作
- c#中sqlite数据库相关的一些操作总结
- C# 数据库中图像信息的读取与写入
- 注意数据库操作中打开的连接
- C#中图像的一些操作
- C#与VB 中对字符串操作注意!
- C#与数据库相关的一些对象
- C#中对于FTP的相关操作
- hibernate操作数据库相关注意点
- C#中执行批处理文件(.bat),执行数据库相关操作
- C#中数据库操作相关我给整理的一个类供大家使用完善
- 数据库中enumType相关的一些操作
- C#对数据库操作注意问题总结
- C#控件TreeView与数据库的操作
- C#中数据库操作
- C#中操作数据库
- C#中操作数据库
- Java 单例类
- 关于volatile
- 关于Socket编程中的地址组和协议组
- 生成缩略图
- url重写与 google yahoo 蜘蛛
- C#中图像与数据库相关操作中几点要注意的
- Photoshop文字之——打造牛奶文字
- Delphi2007新功能 -- 有限的栈对象
- 图像存储到XML数据中,并读取出来
- 在SQL Server 2000里设置和使用数据库复制
- ASP.NET常用代码
- Oracle分析函数详解
- HttpHandler
- 英文摘要的写法