Технология баз данных ADO в Delphi — страница 9

  • Просмотров 38400
  • Скачиваний 594
  • Размер файла 122
    Кб

разумеется, программист хорошо знаком с техникой ADO . В свойствах CommandCount и DataSetCount содержится количество соответствующих объектов, которые обслуживаются данным компонентом. В сочетании со свойствами Commands и DataSets программист может получить доступ к любому интересующему его объекту. Например: var i: Integer; begin for i := 0 to (ADOConnectionl.DataSetCount) do ADOConnectionl.DataSets[i].Open; end; С помощью методов GetProcedureNames и GetTableNames можно получить список всех хранимых

процедур и таблиц. Например: AdoConnectionl.Open; AdoConnectionl.GetTableNames(ListBoxl.Items) Важной особенностью компонента является возможность управления с его помощью транзакциями. Для этого в состав компонента добавлены соответствующие методы и события. С помощью метода BeginTrans стартует новая транзакция, методы CommitTrans и RollbackTrans подтверждают или отменяют ее действие. Разрешается произвольная глубина вложенности транзакций, т.е. после старта одной

транзакции может немедленно стартовать следующая и т.д. Уровни разграничения транзакций (свойство IsolationLevel ) несколько отличаются от аналогичных уровней BDE и в некоторых случаях могут не поддерживаться сервером БД. Транзакция, стартующая с помощью компонента TADOConnection , разделяется всеми другими связанными с ним компонентами. С помощью свойства InTransaction программа может определить, завершилась ли ранее начатая транзакция.

Основные свойства Свойства Назначение property CommandCount: Integer; Указывает количество командных компонентов, которые ссылаются на него property Commands [Index: Integer]: TADOCommand Открывает индексированный доступ к командным компонентам. property Connected: Boolean; Определяет, связан ли компонент с набором данных. property ConnectionObject: Connection; Содержит ссылку на компонент TADOConnection. property ConnectionString: Wide- String; Содержит связную строку. property ConnectOptions: TConnectOption; Указывает, будет ли

связь синхронной (coConnectUnspecified) или асинхронной (coAsyncConnect) property DataSetCount: Integer; количество связанных наборов данных. property DataSets[Index: Integer]: TCustomADODataSet; Открывает индексированный доступ к компонентам-наборам. property Errors: Errors; Содержит коллекцию ошибок, выявленных при работе компонента. property InTransaction: Boolean; Содержит True, если компонент поддерживает хотя бы одну еще незавершенную транзакцию. Основные методы Метод Назначение function BeginTrans: Integer;

Инициирует новую транзакцию в связанной БД. Возвращает уровень вложенности вновь начатой транзакции (1, 2 и т.д.). procedure Cancel; Разрывает установленную ранее асинхронную связь. procedure CloseDataSets (All: Boolean = True) ; Закрывает набор данных, с которым установлена связь, но не разрывает связь с БД, Если All имеет значение True, закрываются все НД, в противном случае не закрываются только те из них, для которых на клиентской стороне созданы курсоры. procedure