Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > TADOQuery.Parameters.Refresh; Не найден параметр |
Автор: Avers 15.9.2010, 15:28 | ||
Работаю с MS SQL 2005. Компоненты ADO В приложении должно произойти следующее (код скажет больше, чем я словами):
Но на деле не создается, и как следствие не находится, параметр @Name. Подскажите в чем может быть проблема. Собственных мыслей нет :( ибо подобный код использую уже далеко не впервые. В других случаях (чаще это 'EXEC [dbo].[sp_StoredProcedure] :@ParamName' - все работает. |
Автор: pseud 15.9.2010, 15:59 | ||
|
Автор: Avers 15.9.2010, 16:09 |
Спасибо, помогло. ParseSQL до этого пробовал, но... неверно это делал |
Автор: pseud 15.9.2010, 16:28 | ||
можно убрать, т.к. ParseSQL с установленным Create = True сам делает Clear Добавлено через 1 минуту и 8 секунд Avers, и возможно есть другой метод, я то ADO не пользуюсь. |
Автор: Avers 15.9.2010, 22:00 | ||||
Вопрос, конечно решен. Но обнаружилась интересная вещь. Постарался привести все использование ADO в проекте к однообразию. Т.е.
Обнаружилось: что в некоторых случаях такой подход несрабатывает, и нужно добавить Refresh:
А в других наоборот, с Refresh не работает и его дописывать ни как нельзя. Типы параметров в обоих случаях строковые. Разница лишь в длине SQL 71 (работает без Refresh) и 51 (работает только с Refresh). Если кто сталкивался, помогите решить проблему. Как программно определить какой метод использовать для корректного определения параметров? |
Автор: Frees 16.9.2010, 09:44 |
парсит запрос драйвер поэтому конект и нужен |
Автор: pseud 16.9.2010, 09:55 |
Понял. Возможно это и не плохо. Получается необходимо ожидать/обрабатывать обрыв соединения каждый раз в двух местах. 1. При подговотоке параметров. 2. При выполнении запроса. Ну это так - тонкости. |