六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用XML數據島處理用戶界面問題 - 3

[摘要]把數據庫的表數據保存到文件中  我曾答應向你展示如何避免每次請求都要讀取數據庫和串聯成XML字符串的步驟。答案就是把數據庫的表數據保存到文件中;這樣做有幾個好處。讀取文件比查詢數據庫并把記錄集格式化...
把數據庫的表數據保存到文件中

  我曾答應向你展示如何避免每次請求都要讀取數據庫和串聯成XML字符串的步驟。答案就是把數據庫的表數據保存到文件中;這樣做有幾個好處。讀取文件比查詢數據庫并把記錄集格式化成XML要快。這樣做也可以簡化你的HTML文件,因為你只需在HTML中包含對XML的引用。最后這樣做使數據對于客戶端來說是透明的。如果你以Listing 1中的方式發送XML標記符的話,用戶可以通過IE的"查看/源文件"看到數據。使用文件引用的話,用戶只能看到引用標記符,而非數據。

  只要你的數據庫記錄不是永不改變的,你就還得在數據改變時查詢數據庫。例如,你可以在SQL Server中寫一個觸發器,當"Location"表發生改變時更新"LastChanged"表中的日期和時間(Listing 3)。對于每一次請求,你可以比較
Location"表與保存數據的XML文件的日期和時間。本文使用的Access數據庫不支持觸發器,但你可以編寫代碼來實現當"Location"表發生改變時更新"LastChanged"表的功能。你也可以每隔一段時間,如一天或一個小時就重新生成文件。

  用Scripting.FileSystemObject 和 Scripting.TextStream對象寫XML文件到硬盤中。為了能寫XML文件,你必須給IUSR_MACHINENAME匿名用帳戶足夠的權限以打開、讀、寫和刪除文件(如果你使用的是NTFS格式的分區硬盤的話)。如果你只想利用XML數據重新在客戶端建立一個記錄集的話,你可以用adPersistXML方法保存記錄集到硬盤中。如果你這樣做的話,必須注意ADO為了能從XML數據重新建立記錄集而把記錄集保存成優化的格式。這樣生成的XML對于XSL查詢語句而言即
不美觀又不方便:

  Dim fs

  Dim ts

  dim aFilename

  aFilename = Server.MapPath _("/XMLDataIslands") & _"\locations.xml"

  set fs = Server.CreateObject _("Scripting.FileSystemObject")

  set ts = fs.OpenTextFile _(aFilename, ForWriting)

  ts.Write s

現在,當你收到一個請求時,查看"LastChanged"表中日期和時間:

  Dim SQL

  Dim R

  Dim conn

  dim tableModifyDate

  set conn = Server.CreateObject _("ADODB.Connection")

  conn.mode = adModeRead

  conn.open "DSN=CheapPC;UID=sa;PWD="

  SQL = "SELECT " & _"LastChanged.LastChanged " & _"FROM Locations WHERE " & _"Tablename='Locations'"

  set R = conn.execute(SQL,,adCmdText)

  tableModifyDate = R("LastChanged")

接下來,通過獲取一個File對象來比較XML文件與tableModifyDate的日期和時間,并查看它的FileCreatedOn屬性值:

  dim fs

  dim aFile

  dim rewriteFile

  rewriteFile=False

  set fs = Server.CreateObject _("Scripting.FileSystemObject")

  if fs.FileExists(aFilename) then

    Set aFile = fs.GetFile(aFilename)

    If aFile.DateCreated < _LocationsModifiedDate Then

     rewriteFile=True

    end if

  else

    rewriteFile=true

  end if
  如果XML文件不存在或需要更新時,你必須寫文件(Listing 4)。這樣就重新從數據庫讀取數據并格式化成XML,但你只需覆蓋舊的XML文件而不必把XML發送到瀏覽器。現在在你的HTML文件中,你只需引用該XML文件即可。當你的XML文件不需要更新,你的服務器會略過數據的讀取與格式化,只是簡單地讀取XML數據到瀏覽器。從整體上看,讀取XML數據為你的服務器節省了大量的處理能力,使你的頁面更有效率。


源代碼可以從http://www.yesky.com/34670816/xmldaima.zip下載




主站蜘蛛池模板: 中国国产aa一级毛片 | 色狠狠成人综合色 | 最近中文字幕无吗高清免费视频 | 亚洲综合图片 | 午夜久久久久久网站 | 日本一区二区三区四区五区 | 日本福利网址 | 一区小说二区另类小说三区图 | 伊人久久天堂 | 一级黄色片aaa | 青草青在线视频 | 亚洲欧洲久久久精品 | 青草视频在线免费观看 | 色橹| 色网站网址 | 青青青草免费 | 日韩在线视频观看 | 亚洲高清综合 | 最新欧美伦禁片在线观看 | 日韩美毛片 | 欧美在线资源 | 色综合天天综合高清网国产 | 色一欲一性一乱一区二区三区 | 日本免费高清 | 午夜精| 香港aa三级久久三级不卡 | 亚洲爽视频 | 亚洲综合专区 | 欧美一区二区亚洲 | 亚洲国产成人精品一区91 | 性喷潮久久久久久久久 | 亚洲综合激情丁香六月 | 一二三四影院免费观看 | 欧美在线观看网址 | 五月激情网站 | 一级做a爰性色毛片免费 | 亚洲a级黄色 | 一本久道久久综合 | 欧美在线播放成人a | 手机在线三级 | 伊人影院综合 |