SQL 2008存储图片和读取图片
用SQL Server存储文字数据非常easy实现,假设用SQL Server存储图片呢?大家有没有实现思路呢?如今我用一个Demo来为大家提供一种在SQL Server中存储图片的思路。
场景:在superPhoto目录中,有三位NBA超级巨星的图片须要存储在数据库中,他们各自是保罗、罗斯和德隆,文件内容例如以下:
有了需求。以下讲实现。实现过程分为3个步骤。
步骤1:我们须要在数据库test中建立T_superStar表。并向表中插入三位球星的信息。
create table T_superStar ( superID varchar(10) primary key, superName varchar(10) not null, superPhoto varchar(10) not null ) insert into T_superStar values('1','保罗','001.png') insert into T_superStar values('2','罗斯','002.png') insert into T_superStar values('3','德隆','003.png')表结构例如以下图所看到的:
通过查询结果能够发现,superPhoto字段存储的是图片文件的文件名称。这样的思路好比内存中的栈和堆,我们都知道栈用于存储值类型数据。由于值类型的数据大小是固定的。堆用于存储引用型数据, 比方对象,数组等。在加入一个对象时,除了在堆中加入对象外。还要在栈中加入一个指向该对象的引用。
同理,由于图片文件比較大。放在数据库中非常占空间,所以我们把图片放在类似于堆的目录中,把文件名称放在类似于栈的数据表中,通过文件名称锁定目标文件。
步骤2:在Asp.Net页面加入GridView,并为GridView加入列,在此尤为强调图片列的操作。我们须要为图片列配置图片的动态载入路径。配置图例如以下所看到的:
图片列的属性DataImageUrlField绑定数据表中的字段superPhoto。DataImageUrlFormat属性依据DataImageUrlField读取的文件名称动态载入superPhoto目录下的图片文件,实现对存储图片的动态读取。
步骤3:用C#获取T_superStar表的数据。并和GridView绑定。
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { SqlConnection con = DB.CreateCon(); con.Open(); SqlCommand cmd = new SqlCommand("select * from T_superStar", con); SqlDataReader sdr = cmd.ExecuteReader(); this.GridView1.DataSource = sdr; this.GridView1.DataBind(); } }到此,图片存储和读取的代码部分已经完毕。
IT人士都知道,学计算机学久了会养成一种计算机思维,用这样的思维来解决平时遇到的问题,我想说我中招了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2015-03-25 coco2d-x 基于视口的地图设计
2015-03-25 HDU 3954 Level up(线段树)
2015-03-25 三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)
2015-03-25 2-07. 素因子分解(20) (ZJUPAT 数学)
2015-03-25 C++0x新特性
2015-03-25 Java正則表達式入门
2015-03-25 Android分屏显示LogCat