![]() |
|
![]() ![]() ![]() |
|
Vitus |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.7.2002 Где: Москва Репутация: нет Всего: нет |
Help me! В обычном TQuery параметры объявлял так:
А как объявляются параметры в TADOQuery? Пробую так:
и так:
и так:
но постоянно выходят ошибки типа: "Parameter object is improperly defined. Inconsistent or incomplete information was provided." Как все-таки нужно? |
||||||||
|
|||||||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Надо так:
ADOQuery1.Parameters.ParamByName('xxx').Value := xxx; Учти что к моменту определения параметра должно быть следующее: 1) Задан Connection/ConnectionString 2) Параметры должны быть Parsed - если ты кверю пишешь в дизайне, то всё путём, если в коде, то надо добавить: ADOQuery1.Parameters.ParseSQL(ADOQuery1.sql.text, true) -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Vitus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.7.2002 Где: Москва Репутация: нет Всего: нет |
Вот как именно выгдядит код:
Но... все-таки ошибка: "Parameter object is improperly defined. Inconsistent or incomplete information was provided" Так что дело в чем-то другом... ![]() |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
2 Ошибки:
1) ParseSQL ставить надо перед параметрами 2) Нельзя применять один параметер дважды, замени второй ":par1" на ":par2" и присвой его тоже -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Vitus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 23.7.2002 Где: Москва Репутация: нет Всего: нет |
1. О! Второй параметр заменял ":par1" на ":par2" и присваивал его тоже. А почему в ADO нельзя один и тот же параметр использовать в запросе несколько раз, а присваивать ему значение только один раз
![]() 2. От ParseSQL ничего особо не зависит, по крайней мере и так работает, если с 2-мя параметрами. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
1. Это вопрос к микрософту, так они сделали дизайн
2. Если тебя устроит вероятность появления ошибки типа "Parameter was not found" или что-то подобного примерно в 20-30% можешь эту строку не писать. Я не знаю почему иногда она нужна, иногда нет, может это зависит от ADO провайдера, может от сложности квери, может от погоды, но если ты присваиваешь текст квери в коде её написание позволяет на 100% избавится от ошибок связанных с неправильным распознаванием параметров, а то что это и так работает, ну так это ж не всегда. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |