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加入列,在此尤为强调图片列的操作。我们须要为图片列配置图片的动态载入路径。配置图例如以下所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXV3ZW56aGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
图片列的属性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人士都知道,学计算机学久了会养成一种计算机思维,用这样的思维来解决平时遇到的问题,我想说我中招了。
SQL 2008存储图片和读取图片的更多相关文章
- MySQL数据库写入图片并读取图片显示到JLabel上的详解
相较于Oracle,MySQL作为一个轻量级的开源的数据库,可谓是大大简化了我们的操作.这次我就来写一个关于数据库存入图片,获取图片的例子吧,也为了今后的复习使用.(我们一般采取存入路径的方式,而不是 ...
- img src某个php文件输出图片(回复更改图片readfile读取图片等)
在论坛我们经常看到一回复图片就更改等,这功能是怎么实现的呢,其实更验证码道理相同. 新建文件 randimage.php 加入以下代码: <?php $dir='../../images/'; ...
- SDWebImage缓存图片和读取图片
NSString *urlStr: NSUrl *url = [NSURL URLWithString:urlStr]; //缓存图片 SDWebImageManager *manager = [SD ...
- Oracle数据库插入图片和读取图片
package com.basicSql.scroll_page; import java.io.File; import java.io.FileInputStream; import java.i ...
- C#从SQL server数据库中读取l图片和存入图片
原文:C#从SQL server数据库中读取l图片和存入图片 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStr ...
- 用C#读取图片的EXIF信息的方法
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...
- MVC中根据后台绝对路径读取图片并显示在IMG中
数据库存取图片并在MVC3中显示在View中 根据路径读取图片: byte[] img = System.IO.File.ReadAllBytes(@"d:\xxxx.jpg"); ...
- tensorflow读取图片案例
1.知识点 """ 1.图片读取流程与API: 1.构造图片文件队列 文件队列API: a)tf.train.string_input_producer(string_t ...
- (第二章第二部分)TensorFlow框架之读取图片数据
系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html 本文概述: 目标 说明图片 ...
随机推荐
- [RxJS] Adding Conditional Logic with Filter
Often you only want values to proceed through your stream if they meet certain criteria, just as if ...
- Swift纯代码走进UICollectionView
Swift对于一门新的iOS编程语言,他的崛起是必然的 我们这群老程序员们学习新的技能也是必然的 不接受新技能将被这大群体无情的淘汰 So 我欣然接受这门看似不成熟的语言 下面我们说说Swift中比较 ...
- FpSpread添加标注
先看效果 实现: FarPoint.Web.Spread.StyleInfo Errorcss = new FarPoint.Web.Spread.StyleInfo(); Errorcss.Bord ...
- linux环境下jdk 安装以及maven私服搭建
1:准备资源 linux服务器,jdk和nexus 安装包 2:网络通畅,保持windows端和linux服务器端网络通畅. 3: 安装jdk和配置环境变量 进入到 ...
- .net后台 Silverlight 页面 动态设置 ASPX 页面 控件的Margin值(位置设置)
silverlight后台代码:using System.Windows.Browser;public Page1(){HtmlPage.RegisterScriptableObject(" ...
- onsubmit提交前先验证(验证不通过阻止form提交)
<form onsubmit = "return val();"> <input type="submit" value="提交& ...
- js 按元素向数组中最佳删除元素
追加::: var a = [];// 创建数组 a.push(1); // 添加到最后 a.unshift(); // 添加到第一个位置 删除:::如果你没有使用第三方框架,有类似的扩展功能可以根据 ...
- 使用apache的ab对页面进行压力测试
ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 我们可以模拟100个并发用户,对一个页面发送1000个请求 ./ab -n1000 -c100 ...
- JS判断访问设备、客户端操作系统类型
先给出一个实例:判断windows.linux.android 复制以下代码另存为html文件即可. <html> <head> <title>判断操作系统< ...
- Song of Pi
def main(): pi = ' # 预先给出需要比较的值 t = int(raw_input()) for _ in xrange(t): song = raw_input().strip(). ...