Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

ADOQuery.Parameters   Найти похожие ветки 

 
ilga   (2006-03-17 12:04) [0]

Доброе весеннее утро, Мастера!
Надоумте, пожалуйста:
формирую текс запроса и паралельно даю значения параметрам TADOQuery
SQL.Add(",@Param1=:Param1");
Parameters.ParamByName("Param1").Value := edit.text;
на очередное значение или прибавление куска запроса ошибка:
"Application uses a value of wrong type for current operation"
причем она возникает в разных местах, т.е. блуждающая - то работает, то нет.
Проверяю всё, не вижу что не так может быть :(.
Подскажите, что можно сделать?


 
Megabyte ©   (2006-03-17 12:38) [1]

TADOQuery.SQL.Add(",@Param1=:Param1");
Шо это?
Где текст запроса?


 
Ega23 ©   (2006-03-17 12:41) [2]


> Шо это?
> Где текст запроса?


По-видимому, это часть запроса, точнее часть текста выполнения ХП.

По сабжу: а какой тип у параметра? ftString? Как создаёшь параметр - в ран-тайме или в дизайн-тайме? Чему равно свойство ADOQuey.ParamCheck?


 
ilga   (2006-03-17 13:10) [3]

ADOQuery.ParamCheck = true

параметров много и они разных типов

текс запроса и параметры формируются (создаются) в ран-тайме - для всех измененных значений.

получается что  кверик не есть длинный текс + параметры

ошибка появляется только на определенную длину кверика :(


 
ilga   (2006-03-17 13:18) [4]

еще поясню проблему:
приложение представляет собой n-ое кол-во закладок
пользователь редактирует некоторые из них,
для сохраниния ин-фы, я пробегаю по закладкам и формирую текст запроса, который включает в себя вызов различных процедур
когда делаю простой подстановкой значения в текст кверика("Param1="+"555") работает без проблем

а с использованием параметров траблы


 
msguns ©   (2006-03-17 13:20) [5]

Это глюк самого TADOQuery.
Лечится заменой "кверика" (TADOQuery) на "командик" (TADOCommand) или "датасетик" (TADODataSet),а также внимательным чтением статей sniknik на этом форуме


 
ilga   (2006-03-17 13:21) [6]

спасибо :)


 
msguns ©   (2006-03-17 13:23) [7]

Если все же хоцца работать с TADOQuery, надо избегать кода типа
SQL.Add("A");
SQL.Add("B");
SQL.Add("C");
...
заменяя его на

SQL.Text := "A"+"B"+"C"


 
Anatoly Podgoretsky ©   (2006-03-17 13:24) [8]

И получишь ABC


 
ilga   (2006-03-17 13:26) [9]

пробовала по всякому
не спасло

sniknik - это что? сорри за серость :(


 
msguns ©   (2006-03-17 13:26) [10]

>Anatoly Podgoretsky ©   (17.03.06 13:24) [8]

не умничай ;)


 
msguns ©   (2006-03-17 13:26) [11]

>ilga   (17.03.06 13:26) [9]
>sniknik - это что? сорри за серость :(

Не ЧТО, а КТО.
Мастер. С большой буквы.


 
msguns ©   (2006-03-17 13:28) [12]

если не спасло, то разруха "в голове", т.е. в самом запросе. Текст которого надо взять из дебагеру и запастить сюдой


 
ilga   (2006-03-17 13:28) [13]

ок, спасибо за советы :)


 
ЮЮ ©   (2006-03-20 09:53) [14]


> формирую текс запроса и паралельно даю значения параметрам
> TADOQuery


Параллельность здесь неуместна.

SQL.Add(",@Param1=:Param1");
Parameters.ParamByName("Param1").Value := edit2.text;
SQL.Add(",@Param2=:Param2");

после этой строки Parameters, ИМХО, будут пересозданы, значение параметра Param1 неопределено и, как следствие этого, "Application uses a value of wrong type for current operation"

Сначала сформируй запрос полностью, затем заполняй параметры.



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.055 c
3-1139291911
VitV
2006-02-07 08:58
2006.04.02
Delphi+access. Проблема загрузки рисунка.


10-1116231207
andrey__
2005-05-16 12:13
2006.04.02
компонент - TExcelApplication, создать диаграмму


2-1142359508
San_pancho
2006-03-14 21:05
2006.04.02
Определение длинны текста, в пикселях.


15-1142321117
Ламот
2006-03-14 10:25
2006.04.02
Оч-ч-чередная бредовая идея! Покритикуйте пож.! )))


15-1142019988
ArtemESC
2006-03-10 22:46
2006.04.02
Программа для запоминания анг. слов..