码迷,mamicode.com
首页 > 数据库 > 详细

SQL 2008存储图片和SQL 2008读取图片

时间:2014-06-18 00:45:56      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:sql server

       用SQL Server存储文字数据很容易实现,如果用SQL Server存储图片呢?大家有没有实现思路呢?现在我用一个Demo来为大家提供一种在SQL Server中存储图片的思路。

  场景:在superPhoto文件夹中,有三位NBA超级巨星的图片需要存储在数据库中,他们分别是保罗、罗斯和德隆,文件内容如下:

  bubuko.com,布布扣

    有了需求,下面讲实现。实现过程分为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')
     表结构如下图所示:

    bubuko.com,布布扣
    通过查询结果可以发现,superPhoto字段存储的是图片文件的文件名。这种思路好比内存中的栈和堆,我们都知道栈用于存储值类型数据,因为值类型的数据大小是固定的;堆用于存储引用型数据, 比如对象,数组等。在添加一个对象时,除了在堆中添加对象外,还要在栈中添加一个指向该对象的引用。

   同理,因为图片文件比较大,放在数据库中很占空间,所以我们把图片放在类似于堆的文件夹中,把文件名放在类似于栈的数据表中,通过文件名锁定目标文件。

    步骤2:在Asp.Net页面添加GridView,并为GridView添加列,在此尤为强调图片列的操作。我们需要为图片列配置图片的动态加载路径,配置图如下所示:

bubuko.com,布布扣

   图片列的属性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();

            }
        }
      到此,图片存储和读取的代码部分已经完成,我们看下效果图。
                                                     bubuko.com,布布扣

     IT人士都知道,学计算机学久了会养成一种计算机思维,用这种思维来解决平时遇到的问题,我想说我中招了。

   

   

SQL 2008存储图片和SQL 2008读取图片,布布扣,bubuko.com

SQL 2008存储图片和SQL 2008读取图片

标签:sql server

原文地址:http://blog.csdn.net/quwenzhe/article/details/31747299

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!