日韩精品中文字幕一区二区-日韩精品中文字幕一区-日韩精品中文字幕视频-日韩精品在线一区二区三区-第一页在线-第一福利视频

當前位置:首頁文章首頁 IT學院 IT技術

非數據庫實現數據對象的實例及說明

作者:  來源:  發布時間:2011-6-15 15:23:37  點擊:

本文提供給大家學習分享的是關于ASP中非數據庫實現數據對象的實例及說明,希望能給大家帶來幫助或啟發。

有些時候,在資源有限及功能簡單的情況下,利用文件管理本身就能很好的實現一個系統,又何必非用數據庫不可呢?

  好的,開說ASP程序,ASP程序強大的原因主要在于COM對象的擴展,所以在一陣的頭腦風暴后,打起了一套組合拳:Scripting.FileSystemObject,Scripting.Dictionary以及Msxml2.DOMDocument.4.0。

  下面就以文件管理程序為例,對實現做簡要說明:

  首先,是構思。

  1. 管理的數據對象是文件對象,而文件對象可以對應到XML中的某個結點

  2. 文件對象的結構,可以自行定義

  3. 文件對象的增加、刪除、修改以及查詢

  XML中充分利用Xpath,實現查詢比較簡單,所以構思后問題主要應該歸結為XML結點的增刪改的問題,以及對象結構的定義。增刪改不必多說,關鍵是對象結構的自定義(在面向對象中就是類的聲明)。

  接下來,是實現。

  一是結構文件

  這里結構包括:英文名字,中文顯示名,類型,顯示模版(或參照),默認值等

  其實就是類似schema的東西,然后把這些結構保存在一個文件中,很多操作時就可以在循環中自動處理了,比如顯示一個文件時,就可以按照這個結構來顯示所有屬性字段。

  如下為一個結構文件documentx.dna的示范內容:

*/DOCS=文件

*/DOCS/@VERSION=版本%%STRING%%[NUM].[NUM].[NUM].[NUM]%%1.0.0.0

*/DOCS/DOC=文件

+/DOCS/DOC/@ID=標識%%STRING%%%%=UniqueID()

+/DOCS/DOC/@HOT=人氣%%NUM%%%%0

/DOCS/DOC/TITLE=標題

/DOCS/DOC/DEPARTFROM=來文單位%%DICTIONARY%%department%%

/DOCS/DOC/@DONE=是否處理完畢%%BOOL%%%%

需要說明的是英文名稱采用Xpath的方式,是為了方便XML處理。

英文名稱前加*號表示為系統字段,同時也是非文件對象的屬性字段

英文名稱前加+表示該字段對用戶來說是只讀的,其值由系統指定。

另外前加*或者加+號也好,也有防止誤刪的原因,因為*號或+號是不會顯示給用戶的。

用=號分隔英文名稱與其他部分,而其他部分中用%%分隔,依次為中文顯示名,該項類型,顯示模版(或參照),默認值。

  需要說明的是類型,如果類型為DICTIONARY的話,顯示模版(或參照)或參照的為具體的DICTIONARY文件,DICTIONARY的保存形式,形同Delphi中TstringList的保存形式,用=號把關鍵字與值分隔:

CS1=測試單位1

CS2=測試單位2

  二是利用新建一個文件,說明顯示的問題

先看示范文件:

<% @LANGUAGE=VBSCRIPT %>

<%

Dim sKey, sValue, Sign, Pos, AttrID, Values, F, FName, Count

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<meta http-equiv="Content-Language" content="zh-cn">

</head>

<body>

<form method="POST" action="Documents!Save.asp">

<table border="0" width="100%" cellpadding="0" style="border-collapse: collapse">

       <tr>

              <td bgcolor="#C0C0C0"><b>新建</b></td>

       </tr>

       <tr>

              <td>

              <table border="1" width="100%" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#000000">

                     <tr>

                            <td width="10%">項</td>

                            <td>值</td>

                     </tr>

<%

'Count = 0

'DOCUMENTX為Scripting.Dictionary對象,為documentx.dna的內容

For Each sKey In DOCUMENTX       

  Sign = Left(sKey, 1)

  If Sign<>"*" Then

    sValue = DOCUMENTX.Item(sKey)

    Values = Split(sValue & "%%%%%%", "%%")

    Pos = InStrRev(sKey, "/")

    AttrID = Right(sKey, Len(sKey) - Pos)

    If Left(AttrID,1)="@" Then

      AttrID = Mid(AttrID, 2) & "_INLINE"     '也就是說@為一般為內置屬性

    End If

    AttrID = "ATTR_" & AttrID

%>

                     <tr>

                            <td width="10%"><%=Values(0)%></td>

                            <td>

首頁 上一頁 [1] [2] [3] [4]  下一頁 尾頁

相關軟件

相關文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 台州林毅| 2024年血糖标准| 宿松百姓论坛| 色戒在线视频观看| 军营医生 (1976)| 挠tkvk| 生物七年级下册人教版电子书 | 我亲爱的简谱| 生化危机启示录2| 弯刀| 楚门的世界演员表| 浙江卫视周一至周五节目表| 我虽软弱了赞美诗歌| 色在线视频观看| 抖音下载安装| 日本xxww| 5一6岁脑筋急转弯大全及答案| bbbbbbbbb免费毛片视频| 章若楠高清壁纸| 麻仓桃| 我亲爱的简谱| 朱璇| 3d欧美怪物sexvideo| 天地姻缘七仙女演员表| 毕业论文3000字范文| 洛可希佛帝的电影| naughty america| 黄婉伶| zeka| 彭丹主演的经典电影| 译制片《桥》| 洗衣机水满了还在进水维修视频| 尹馨演过的三部电影| 内蒙古电视台| 封顶仪式| 全球gdp排名| 陈薇薇简介 个人资料| 韩国电影《我是谁》演员表介绍| 安志杰电影全集大全| 那些年,那些事 电视剧| 黄土高坡歌词|