В Delphi, когда я использую TQuery для выполнения SELECT в базе данных, я следую Query.Open с попыткой. Наконец, с Query.Close в секции finally. Это имеет смысл для меня, поскольку Query все равно будет хранить данные (используя память) без необходимости иначе.Есть Query.Close необходимо после Query.ExecSQL?
Но мой вопрос должен делать с тем, когда я использую запрос, чтобы выполнить INSERT или DELETE, что требует выполнение SQL с Query.ExecSQL Мой вопрос, я должен использовать Query.Close после Query.ExecSQL?
Мои мысли, потому что это команда, выполняемая в базе данных, которая, по-видимому, не возвращает никаких данных в запрос, нет необходимости делать запрос. Закрытие Но, возможно, у кого-то там больше -знание того, что, если угодно, может быть возвращено и сохранено в запросе после запроса Query.ExecSQL, для которого Query.Close будет полезен?
спасибо.
Он всегда будет возвращать что-то, обновленные или вставленные строки, например. Насколько я могу судить, вам всегда нужно закрыть запрос. – CiucaS
Я никогда не делаю этого после ExecSQL. Как только вы очистите свойство SQL, набор данных все равно будет закрыт. Я не думаю, что это болит в любом случае. –
'Open' и' Close' - это просто альтернативы для установки свойства 'Active' на' True' или 'False' соответственно. После вызова 'ExecSQL' проверьте значение' Active', и вы получите ответ. –