作 者 : 甘冀平
現在已經有了一些用戶信息保存在文件中,就像一個簡單的數據庫。假設有一個用戶想了解所有的訪問者,就要從登
記的信息中分離出相關部分,因為沒有象數據庫一樣擁有結構化的列。
我們知道,在所創建的文件中,第1行是用戶名,第2行是他們的主頁,第3行是他們的電子郵件地址。隨後登記的用
戶也是按照這樣的結構存儲他們的信息,所以每3行將包含一個用戶的登記信息。知道了這些,就可以編寫下面的代碼來顯
示信息:
< %
' create the fso object
set fso = Server.Createobject("Scripting.FileSystemObject")
path = "c: emp est.txt"
' open the file
set file = fso.opentextfile(path, 1) < -- For
reading
接著,分析每一行,並且格式化數據:
do until file.AtEndOfStream
Response.write("Name: " & file.ReadLine & " ")
Response.write("Home Page: " & file.ReadLine & " ")
Response.write("Email: " & file.ReadLine & "< p>")
loop
' close and clean up
file.close
set file = nothing
set fso = nothing
%>
這裡僅僅做了一個非常簡單的輸出,但是你可以根據情況包含表格或者DHTML表單信息。
如果已經正確地建立並寫入了文件,上面的小小循環將合適地列出數據庫中的每一個人的信息。ReadLine方法讀取1
行內容,直到遇到換行符,隨後的ReadLine調用將讀取下一行。AtEndOfStream是TextStream對象的屬性,它告訴我們何時
遇到文件的尾部。
假設由於某種原因,我們沒有正確地形成文件,如果一個用戶只有2行信息而不是3行,那麼就會產生一些錯誤。我們
這裡的循環取回文件中的下3行信息,如果沒有3行多的信息,就將出現如下的錯誤信息:
Server object error 'ASP 0177 : 800a003e'
所以,一定要添加一些錯誤處理代碼,以防文件中插入了多余的行或者少了必要的行信息。