|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
13.3 Объект ADO.Recordset и коллекция FieldsОбъект ADO.Recordset в VBScript, табличное представление данных в оперативной памяти, открытие Recordset 13.3.1 Открытие RecordsetОбычно следующий этап после установки соединения - создание объекта Recordset и работа с ним. Recordset - это табличный набор записей (set of records), который обычно получается с источника (но может быть создан и заполнен вручную), и в котором предусмотрены столбцы (Fields) и строки (Row). Создание объекта Recordset и заполнение его данными с источника в самом простом варианте выглядит так: Dim rs Set rs = CreateObject("ADODB.Recordset") rs.Open "customers", cn Убедиться, что Recordset действительно создан и существует, можно, например, при помощи строки WScript.Echo rs.GetString При открытии Recordset вполне могут возникнуть ошибки, поэтому рекомендуется, как обычно, использовать обработчик ошибок. Специальной коллекции Errors в Recordset не предусмотрено, поэтому придется обойтись стандартным объектом Err. В нашем примере мы открыли таблицу Customers целиком. Однако это - не единственный (и не лучший) способ извлечения данных с источника. Для метода Open рекомендуется использовать запрос на языке SQL. Например, в нашем случае можно было бы использовать такой код: rs.Open "select * from dbo.customers", cn Почему запрос использовать лучше: · есть возможность указать фильтр Where (условие - обязательно в одинарных кавычках) и скачать в Recordset не все записи, а только нужные вам; · есть возможность точно так же ограничить число возвращаемых столбцов - опять-таки сокращение объема передаваемых данных и уменьшение расхода памяти; · есть возможность использовать джойны, функции SQL, сортировку на источнике данных и множество полезных дополнительных возможностей. Если вы ответственны не только за создание клиентского приложения, но и за проектирование базы данных, бывает очень удобно предусмотреть запрос данных только через представления. Это позволит более гибко управлять системой безопасности и в случае необходимости перекройки базы данных (например, разбиения главной таблицы на текущую и архивную) сэкономить множество времени.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||