网站地图 | 联系我们 | 咨询热线:13999201770
您现在的位置: 新疆二域设计网络公司 >> 网页设计学院 >> 数据库 >> 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项目都是有效
的。

作者:佚名 | 文章来源:不详 | 更新时间:2007-5-4 21:12:35

  • 上一篇文章:

  • 下一篇文章:
  • 相关文章:
    用图片代替表单的提交按钮submit和重置按钮reset
    在SQL Server 2000和SQL Server 2005中构建并利用UDF表格
    MySQL ODBC进行MySQL和SQL Server转换
    HTML-加速、再加速
    XML专区-XML 中的常见问题 (三)
    XML专区-XML在B/S架构开发中的应用
    优化SQL Server服务器内存配置的策略
    SQL SERVER存在拒绝服务问题
    调整重心-从IIS到SQL Server数据库安全
    DW制作网页之图片应用技巧

    色彩理念
    网页制作
    美工图形
    网络编程
    数 据 库
    网站运营
    ::最近更新::
    ·在SQL中用 SP_KEYS确定一个…
    ·卸载SQL Remote对象以及稳…
    ·层次型和关系型、基因组序…
    ·向外扩展数据库系统的两个…
    ·MSSQL锁定的模式与锁定的管…
    ·SQL Server 2005教程:如何…
    ·SQL Server数据库两种备份…
    ·使用SQL Server代理设置SQ…
    ·在SQL Server 2000和SQL S…
    ·SQL SERVER 2005中同步复制
    ·SQL Server上的数据加密与…
    ·常用SQL语句整理
    ·SQL Server性能分析参数
    ·优化SQL Server服务器内存…
    ·使用命名管道访问SQL Serv…
    ::推荐阅读::
    ·SQL Server性能分析参数
    ·优化SQL Server服务器内存…
    ·用SQL Server为Web浏览器提…
    ·SQL Server 2000的安全配置
    ·无组件上传图片至SQLSERVE…

    关于我们 | 网站建设 | 服务帮助 | 联系我们 | 网页设计学院 | 实用工具 | 友情链接 | 新疆专题
    版权所有 © 2007 新疆二域设计网络公司 www.xjcncn.com All Rights Reserved
    网站建设总机:0991-4811639 传真:0991-4842803 ;咨询热线:13999201770. E-mail:xjcncn@gmail.com
    MSN :xjcncn@hotmail.com ; QQ:359312 ;地址:新疆乌鲁木齐市友好E时代公寓B座706室 邮编:830000