| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Количество соединений и запросы |
| Автор: Fitc 9.2.2010, 19:25 | ||
| Здравствуйте. Вопрос такой: в чем отличие ADOConnection.Execute, ADOQuery.ExecSQL,ADOCommand.Execute. И какие еще есть подобные процедуры? А также если использовать многократно такие команды, то по идее должны создаваться многократные соединения, тогда хватит ли, например такого кода, что бы сохранять всегда одно соединение?
То есть открыли соединение, отправили запрос, закрыли соединение. |
| Автор: Fitc 11.2.2010, 18:46 |
А что при ExecSQL ADOQuery вдруг становится open? для чего это надо? |
| Автор: Данкинг 11.2.2010, 19:48 |
Видимо, тут имеется в виду закрытие ADOQuery "на всякий случай" (если вдруг он открыт) перед какими-либо действиями с ним. |
| Автор: Fitc 13.2.2010, 18:11 | ||||
Посмотри повнимательнее, там в самом начале закрывается ADOQuery
По теме отвечаем, ребята) Вобщем то сам догадываюсь, что этого кода достаточно для поддержания одиночных сеансов соединения... Вопрос был чисто для собственной уверенности... |
| Автор: ~FoX~ 14.2.2010, 04:52 | ||
Не известно что подразумевается под словами "открываем датасет".... Да и выполнение запросов с закрытым коннектом, это ИМХО моветон.... Добавлено @ 04:57
Этого достаточно при условии, что ты не вносишь изменений в данные и/или не добавляешь/удаляешь их.... Ибо ExecSQL возвращает только количество строк и не возвращает курсор... Следовательно ни о каких дествиях над данными не может быть речи |
| Автор: Fitc 14.2.2010, 23:14 | ||||||
Код выдран из одной статьи вместе с комментариями, что автор имел ввиду я не знаю, оставил как было... Если надо могу дать источник
почему, по вашему, коннет закрыт, если по умолчанию свойство ADOConnection1.Connected стоит в true?
Насколько я знаю ExecSQL не возвращает данные клиенту, удаление/редактирование/добавление записей осуществиться на сервере, так почему же действий с данными, по вашему, не произойдет? |