Каков точный эффект TDataset.close() в Delphi?
Почему рекомендуется обрабатывать sql-запрос в Delphi следующим образом?:
dataset.close(); // ?????
dataset.sql.clear(); // old sql-query gets deleted
dataset.sql.add('your sql-query'); // here a query-String is added to your sql-object
dataset.open(); // here your sql-query starts to work
Может ли быть так, что закрытие sql-объекта определяет каждый раз состояние по умолчанию, при котором удаляется предыдущий набор данных, полученный в результате предыдущего sql-запроса?
1 ответ
Когда вы открываете набор данных, он активирует активное соединение, предполагая, что ваша база данных / драйверы поддерживают это. Некоторые соединения с базой данных поддерживаются, другие нет. Для тех, кто Open
Процедура включает открытое соединение с базой данных, и в этом случае вы можете динамически редактировать эти данные, используя набор данных. Итак, когда вы Close
набор данных, это обычно закрытие того, что было открыто. Имейте в виду, что TDataset
наследуется в другие более конкретные типы, и Open
/ Close
процедуры требуются для многих из них.
Закрытие набора данных также делает недействительными данные, содержащиеся в нем, и поэтому больше не предоставляет эти данные. Ваш запрос останется там, но данные больше не будут доступны для чтения / записи.