Об'єкт Recordset і текстові файли (ASP) h2>
Христофоров Юрій p>
У цій статті мова піде про побудову об'єкта
Recordset на основі інформації з текстового файлу. Стикаючись з завданням
подання даних з текстових файлів (з підтримкою сортувань з кількох
полям, розбиванням набору даних по сторінках) виникає питання: як вирішити
дану задачу найпростіше? Перший варіант рішення - використання масивів.
Другий варіант, про який і піде мова, - створення об'єкта Recordset і
подальша робота з ним. p>
Постановка завдання: p>
Є текстовий файл (country.txt), який
являє собою набір записів види: Країна, Столиця. Необхідно вивести
посторінково (5 записів на сторінку) у вигляді HTML таблиці вміст цього файлу
з сортуванням по полю Країна. p>
ASP-скрипт, який здійснює цей висновок: p>
<%
option explicit p>
Response.Expires
= 0 p>
Dim
fs, fd, buffer, rs, arrTxT, Page, i, nPages p>
'створюємо об'єкт Recordset p>
Set
rs = Server.CreateObject ( "ADODB.Recordset") p>
rs.Fields.Append
"Країна", 200, 255 p>
rs.Fields.Append
"Столиця", 200, 255 p>
rs.Open p>
Set
fs = Server.CreateObject ( "Scripting.FileSystemObject") p>
Set
fd = fs.OpenTextFile (Server.MapPath ( "country.txt"), 1) p>
'порядково зчитуємо вміст файлу p>
Do While (Not fd.AtEndOfStream) p>
'додаємо рядок p>
rs.AddNew p>
buffer = fd.ReadLine p>
arrTxT
= Split (CStr (buffer), ",") p>
rs ( "Країна") = arrTxT (0) p>
rs ( "Столиця") = arrTxT (1) p>
rs.Update p>
Loop
p>
Set fs = Nothing p>
'сортуємо по полю Країна p>
rs.Sort = "Країна" p>
'по 5 записів на сторінку p>
rs.PageSize
= 5 p>
if
Request.QueryString ( "Page") <> "" then p>
Page
= CInt (Request.QueryString ( "Page ")) p>
else p>
Page = 1 p>
end
if p>
If
rs.PageCount> 0 Then p>
rs.AbsolutePage
= Page p>
Else p>
Page
= 0 p>
End
If p>
Response.Write
"