国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用SQL Server為Web瀏覽器提供圖像3(end)

2019-11-18 22:15:38
字體:
來源:轉載
供稿:網友
建立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項目都是有效
的。




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 略阳县| 滕州市| 清徐县| 阿瓦提县| 大余县| 荥阳市| 怀安县| 咸阳市| 芜湖县| 彰化县| 雷波县| 双辽市| 平度市| 常山县| 宿州市| 广平县| 梅河口市| 宁都县| 嘉禾县| 中牟县| 图木舒克市| 柏乡县| 鄢陵县| 土默特左旗| 满城县| 西畴县| 哈尔滨市| 二手房| 巴彦县| 梅河口市| 东至县| 蛟河市| 方山县| 伊通| 娄底市| 崇明县| 玉林市| 永泰县| 监利县| 南安市| 大石桥市|