c#在sql中存取图片image示例
这篇文章主要介绍了c#在sql中存取图片image示例,需要的朋友可以参考下
(1)控制台应用程序下演示插入图片
using (SqlConnection conn = new SqlConnection(sqlconnstr)) { conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "insert into T_Img(imgfile) values(@imgfile)"; SqlParameter par = new SqlParameter("@imgfile", SqlDbType.Image); par.Value = bt; cmd.Parameters.Add(par);
int t=(int)(cmd.ExecuteNonQuery()); if (t > 0) { Console.WriteLine("插入成功"); } conn.Close(); } }
(2)控制台应用程序下读出并生成图片到物理位置
FileStream fs = new FileStream(@"c:\00.jpg", FileMode.OpenOrCreate, FileAccess.Write); fs.Write(MyData, 0, ArraySize); fs.Close(); //-- 写入到c:\00.jpg。 conn.Close(); Console.WriteLine("读取成功");//查看硬盘上的文件 } }
(3)Web下picshow.aspx页将图片读取出来并写入到浏览器上呈现
(4)在web中可以如上picshow.aspx页面读取并显示图片,而真正引用该图片时如下示例
(5)Winform下将图片写入到sql数据库image类型字段中的方法和以上方法基本一致,仅区别于可以利用多个对话框来帮助选取存储图片等,各个属性可以方便的利用上
(6)Winform下读取图片在picturebox控件中显示出来
方法一:利用MemoryStream 和System.Drawing.Image
MemoryStream mystream = new MemoryStream(MyData); //用指定的数据流来创建一个image图片 System.Drawing.Image img = System.Drawing.Image.FromStream(mystream, true);
System.Windows.Forms.PictureBox picbox = new PictureBox(); picbox.Image = img; picbox.Left = 30; picbox.Top = 80; picbox.Width = 800; picbox.Height = 500; this.Controls.Add(picbox);
mystream.Close(); conn.Close(); } }
方法二:将流直接读取成图片并写入到物理位置,然后再行利用该图片呈现
byte[] Image_img = (byte[])sdr["ImgFile"]; if (Image_img.Length == 0) { return; } int filelength = Image_img.Length; string imageName = "1.jpg"; string myUrl = Environment.CurrentDirectory + "\\" + imageName; FileStream fs = new FileStream(myUrl, FileMode.OpenOrCreate,FileAccess.Write); BinaryWriter BW = new BinaryWriter(fs); BW.BaseStream.Write(Image_img, 0, filelength); BW.Flush(); BW.Close(); System.Windows.Forms.PictureBox picbox = new PictureBox();
//为picbox添加图片方法一 //picbox.ImageLocation = myUrl; //picbox.Width = 800; //picbox.Height = 300;
//为picbox添加图片方法二 Bitmap bitmap = new Bitmap(myUrl); picbox.Width = 100;//bitmap.Width; picbox.Height = 80;//bitmap.Height; picbox.Image = (Image)bitmap; picbox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; picbox.Left = 20; picbox.Top = 30;
this.Controls.Add(picbox); conn.Close();
} }
c#在sql中存取图片image示例的更多相关文章
- (转载)SQL中导入图片
SQL中导入图片 分类: 论坛精贴 2006-05-10 12:07 398人阅读 评论(0) 收藏 举报 sqlimage服务器insertlogingo 1.建立过程CREATE PROCEDUR ...
- 采用 ITextPDF 类库测试向 PDF 中加入图片的示例
package com.smbea.image; import com.artup.util.image.ImageUtil; import com.itextpdf.text.*; import c ...
- delphi向SQL Server2005中存取图片
SQL Server2005中,我用image类型来存取图片,首先把数据库表设置好 例如我的pic表有如下两列:时间,图片. delphi中,我用ADOQuery来连接数据库,但是数据库中有好几张表, ...
- 如何在数据表中存取图片 - 回复 "三足乌" 的问题
问题来源: http://www.cnblogs.com/del/archive/2009/05/28/1491186.html#1801853 准备工作:1.在空白窗体上添加: ClientData ...
- hibernate学习笔记(5)在数据库中存取图片
如何从数据库读取存入的图片,即Blob(二进制)数据. 先从数据库读取对象. 再从获取的对象中得到blob对象. 通过blob对象的getBinaryStream()方法获取input输出流. 之后通 ...
- SQL中GROUP BY用法示例(转)
工作中又用到了写SQL 好多年不用了 再拿过来温习下: 不觉豁然开朗 概述 GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Exce ...
- SQL中GROUP BY用法示例
概述 GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表. GRO ...
- 实现从sql server存取二进制图片
转:http://www.cnblogs.com/jeffwongishandsome/archive/2009/08/27/1554440.html 1.存取图片(1).将图片文件转换为二进制并直接 ...
- sql中多层循环示例(有游标)
在需求处理中,我们会遇到需要通过SQL多层循环来处理的问题.如:A表中有8条数据,B表中有10条数据,需要实现A表中的每1条数据对应B表中的10条数据,最后就有了80条数据,从而实现一对多的关系.那如 ...
随机推荐
- 初识Spring security-添加security
请先查看 初识Spring security-无Security的SpringMVC 在pom.xml文件中添加包 <!-- Spring Security --> <depende ...
- request.getPathInfo();
request.getPathInfo(); 这个方法返回请求的实际URL相对于请求的serlvet的url的路径.(个人理解.)比如,有一个Servlet的映射是这样配置的: <servlet ...
- BZOJ3671/UOJ6 [Noi2014]随机数生成器
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- python之算法LOB三人组
一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...
- 51nod 1202 线性dp
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1202 1202 子序列个数 题目来源: 福州大学 OJ 基准时间限制:1 ...
- 怎么样修改win7下的host文件
由于在访问tensorflow官网时访问不了,需要修改hosts文件,然而win7下因为权限问题导致不能修改hosts文件,解决方法如下: 1.先复制hosts文件到别的地方,修改完后再覆盖回来.中间 ...
- Linux tar命令总结
压缩 tar –cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后, ...
- 红帽企业版Linux成为Linux下的.NET Core的参考平台
微软和红帽声明将在红帽企业版Linux运行的.NET纳入官方支持.经两家公司透露,“红帽企业级Linux将成为Linux下的.NET Core主要参考操作系统”. 来自红帽资深开发者Harry Mow ...
- 【WPF】推荐一款拖拉缩放控件的DEMO
引言 在CodeProject上有个实现了控件拖拉缩放的DEMO,界面很漂亮,里面对Thumb和Adorner运用得很精彩.我觉得,使用WPF的开发者都可以去学习一下.下面放出链接. WPF Diag ...
- Linux_服务器_09_新虚拟机下linux网络配置
一.设置VMnet8 控制面板—>网络和Internet—>网络共享中心—>更改网络适配器,即可进入网络连接 找到VMnet8,右键—>属性—>Internet协议版本4 ...