В Delphi всякий раз, когда я использую TQuery для выполнения SELECT в базе данных, я следую за Query.Open с помощью try..finally, с Query.Close в разделе finally. Для меня это имеет смысл, поскольку в противном случае запрос все равно будет хранить данные (используя память) без необходимости.
Но мой вопрос связан с тем, когда я использую Query для выполнения INSERT или DELETE, что требует выполнения SQL с Query.ExecSQL Мой вопрос: должен ли я использовать Query.Close после Query.ExecSQL?
Я думаю, что, поскольку это команда, которая должна быть выполнена в базе данных, которая, по-видимому, не возвращает никаких данных в запрос, нет необходимости выполнять запрос. , во всяком случае, может быть возвращен и сохранен в запросе после вызова Query.ExecSQL, для чего будет полезен Query.Close?
Спасибо.
Open
иClose
— это просто альтернативы для установки свойстваActive
наTrue
илиFalse
соответственно. Проверьте значениеActive
после вызоваExecSQL
, и вы получите ответ. - person Disillusioned   schedule 03.10.2014