当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:22:00  来源:本站整理

用SQL Server为Web浏览器供应图象(四)(转)[MSSQL防范]

赞助商链接



  本文“用SQL Server为Web浏览器供应图象(四)(转)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
成立Web项目和设置数据库衔接

在注册了 ImageLoader 动态链接库之后,我们便可以成立Web项目了.我们利用微软Visual InterDev 1.0 成立ASP页面以及到微软sql server数据库的数据衔接.

首先,翻开微软Visual InterDev.在文件File 菜单里,挑选新建(New)菜单项.在呈现的对话框里,选中Web项目向导,在项目名称字段里输入ImageLoad .单击肯定(OK),完成背面两步,完毕向导.

可以看到, Visual InterDev 在工作空间(Workspace)窗口里自动地生成了一个文件,叫做Global.asa.在用户第一次查看Web程序里的页面里,就会自动生成这个文件.要衔接SQL Server里的数据库,挑选项目 | 加入项目(Project | Add To Project),然后挑选数据衔接(Data Connection).这里,挑选数据源对话框呈现,我们必须定义一个数据源名称(DSN).

单击新建(New)按钮,在列出的可用数据驱动程序列表里,挑选SQL Server,然后单击下一步(Next).接着,在输入框里输入 GroceVB 作为DSN.接下来的几步很简单完成,不再详述.

下面,呈现了SQL Server 登录对话框.输入服务器名称,登录ID和口令,并单击选项(Option)按钮.从列出的可用数据库列表里,挑选Grocevb,单击肯定(OK).在完毕了全部以上步骤之后,就返回到了挑选数据源对话框.在这里,从DSN列表里单击文件名 Grocevb.dsn,然后完成背面几步完毕这段操作.

目前,可以双击Global.asa,查看以上步骤在这个文件里生成的代码.代码定义了衔接SQL Server数据库所必须的一些变量.

为了初始化类 clsImageLoader ,必须在Global.asp的开始放两行代码.我们在列表 C里列出了Global.asa里的代码.注意clsImageLoader 是一个会话范围内的对象.

列表 C: Global.asa

<OBJECT RUNAT=Server SCOPE=Session ID=objImageLoader PROGID="ImageLoader.clsImageLoader">
</OBJECT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
    Session("Grocevb_ConnectionString") = "DRIVER=SQL Server; SERVER=(local);
                 UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=JIA;
                 DATABASE=Grocevb;UseProcForPrepare=0"
    Session("Grocevb_ConnectionTimeout") = 15
    Session("Grocevb_CommandTimeout") = 30
    Session("Grocevb_RuntimeUserName") = "sa"
    Session("Grocevb_RuntimePassword") = ""
End Sub

Sub Session_OnEnd
  set objImageLoader = Nothing
End Sub

</SCRIPT>




成立ASP页面

为了衔接到数据库,并和ImageLoader这个动态链接库通信,我们在Web项目里成立了一个ASP文件.办法是在文件(File)菜单里挑选新建(New)菜单项,在文件(Files)标签卡中挑选ASP页面图标,在输入框里输入文件名称.我们把这个页面命名为default.asp.在default.asp 里包含的代码如列表 D所示.

列表 D: default.asp

<% Set dbConn = Server.CreateObject("ADODB.Connection")
   dbConn.ConnectionTimeout = Session("Grocevb_ConnectionTimeout")
   dbConn.CommandTimeout = Session("Grocevb_CommandTimeout")
   dbConn.Open Session("Grocevb_ConnectionString"), Session("Grocevb_RuntimeUserName"), _
                                                    Session("Grocevb_RuntimePassword")

   Set cmdTemp = Server.CreateObject("ADODB.Command")
   Set rstProduct = Server.CreateObject("ADODB.Recordset")
       cmdTemp.CommandText = "SELECT prod_id, prod_name, prod_desc, prod_unitprice, & _
                               " prod_unitquant, prod_imagetype " & _
                               "FROM Products ORDER BY prod_name"
       cmdTemp.CommandType = 1
       Set cmdTemp.ActiveConnection = dbConn
       rstProduct.Open cmdTemp, , 0, 1

       objImageLoader.DbName = "Grocevb"
       objImageLoader.TableName = "Products"
       objImageLoader.NameOfImageColumn = "prod_image"
       objImageLoader.NameOfImageTypeColumn = "prod_imagetype"
       objImageLoader.NameOfImageIdColumn = "prod_id"
       objImageLoader.OpenConnection
%>

<HTML>
<HEAD>
<TITLE>从SQL Server装载图片的示例</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF" TOPMARGIN=8 LEFTMARGIN=4>
  <%Do While Not rstProduct.EOF %>
  <%ProdId = rstProduct("prod_id") %>
  <% objImageLoader.CreateTempImageFile(ProdId) %>
  <% FileName =  "images/" & objImageLoader.ImageFile(ProdId) %>

  <TABLE border=1 cellpadding=0 cellspacing=0 width=100%>
   <TABLE border=0 cellpadding=5 cellspacing=0 width=100% cols=2>
      <td width=30%>
         <IMG ALIGN=BOTTOM SRC= <% =FileName %>>
         <p> </p>
      <font size=2>Image type: <% = rstProduct("prod_imagetype") %>
      </td>
      <td width=70%>
          <p align=center><font size=4><% =rstProduct("prod_name") %></font></p>
          <p align=center><% =rstProduct("prod_desc") %></p>
      </td>
    </TABLE>
    <p> </p>
  <TABLE border=0 cellpadding=5, cellspacing=0 width=100% cols=2>
      <td width=50%>
         <p align=left>Unit quantity: <% = rstProduct("prod_unitquant") %></P>
      </td>
      <td width=50%>
         <p align=left>Unit price: <% =rstProduct("prod_unitprice") %></p>
      </td>                             
   </TABLE>
  </TABLE>
  <p> </p>
<% rstProduct.MoveNext %>
<% Loop %>
</BODY>
</HTML>


注意:类ImageLoader 里定义的CreateTempImageFile 办法和ImageFile 属性(只读)需求图片ID作为参数.在这个例子里,图片ID就是表Products的主关键字(prod_id) .所以, prod_id 的值必须传送给动态链接库.


总结

在这篇文章里,我们演示了一个办法,利用ActiveX动态链接库和ASP,可以从微软SQL Server服务器把图片装载到Web浏览器.它已经表明,这个办法在快速开辟、简单利用和自定义Web页面的机动上都有上风.动态链接库被用来衔接数据库,提取图片数据,把图片数据放入文件.ASP页面则负责与SQL数据库和动态链接库通信.我们已经介绍了设置SQL数据库和Web项目的操作历程.

固然这篇文章里的动态链接库和数据库的功效做了简化,但这里介绍的步骤关于别的任何强盛复杂的Web项目都是有效的.&nbs
  以上是“用SQL Server为Web浏览器供应图象(四)(转)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用SqlBulkCopy时应注意Sqlserver表中利用缺省值的列
  • 在SQL Server中利用SQL语句查询一个存储历程被别的全部的存储历程引用的存储历程名
  • 用SQL统计SQLServe表存储空间大小的代码
  • 50个常用sql语句 网上风行的学生选课表的例子
  • 教你怎么利用sql游标实例分享
  • 用SQL找出每种范例中时间最新的前N个数据构成的调集的办法
  • 利用SQL Loader导入大量数据,避免利用SQL频繁写库的办法
  • 用SQL Server为Web浏览器供应图象(一)(转)
  • 用SQL Server为Web浏览器供应图象(二)(转)
  • 用SQL Server为Web浏览器供应图象(三)(转)
  • 用SQL Server为Web浏览器供应图象(四)(转)
  • ado若何利用sql函数?
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .