2014-02-11 5 views
-1

Я хотел бы повторить некоторые данные из таблицы в моей базе данных и нашел этот код:Может ли кто-нибудь объяснить, как работает этот код asp?

set rs = Server.CreateObject("ADODB.recordset") 

rs.Open "Select name From users", conn 

do until rs.EOF 
    for each x in rs.Fields 
     Response.Write(x.value) 
    next 
    rs.MoveNext 
loop 

rs.close 

Я проверил его и, и она работала, но я понятия не имею, чем все, что синтаксические средства и нет никаких объяснений предоставляется код. Может ли кто-нибудь с опытом помочь мне?

ответ

2

rs - это набор записей, что означает результат запроса к базе данных.

Проводя до тех пор, пока ... цикл не повторится (с помощью movenext) через все строки, найденные в наборе записей (т. Е. Пользователи таблицы).

На всех строках, найденных для каждого ... следующего цикла, все поля, найденные в одной строке, которая в этом случае является только именем столбца.

0

Смотрите комментарии добавлены к коду ниже

' Create a recordset. This is an object that can hold the results of a query. 
set rs = Server.CreateObject("ADODB.recordset") 

' Open the recordset for the query specified, using the connection "conn" 
rs.Open "Select name From users", conn 

' Loop over the results of the query until End Of File (EOF) 
' i.e. move one at a time through the records until there are no more left 
do until rs.EOF 
    ' For each field in this record 
    for each x in rs.Fields 

     ' Write out its value to screen 
     Response.Write(x.value) 

    ' Move to the next field 
    next 

    ' Move to the next record 
    rs.MoveNext 

' Continue to loop until EOF 
loop 

' Close the recordset 
rs.close 
+0

Так что это: 'Server.CreateObject («ADODB.Recordset»)', является то, что мне нужно каждый раз, когда я хочу, чтобы получить что-то из базы данных? –

+0

@Sir_Ivyk Это и что-то вроде 'Server.CreateObject (« ADODB.Connection »)', да. – gvee

+0

@gvee Вам может быть полезно ознакомиться с [Справочником API ADO в MSDN] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms678086 (v = vs.85) .aspx) – Lankymart

Смежные вопросы