Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Барабашка в TADOCommand [D6]


msguns ©   (2005-10-12 17:38:00) 

Параметрический запрос меняет 40 полей в указанной записи таблицы:

With TADOCommand.Create(nil) do
  try
   Connection := cnArchLibr;
   CommandText := 'UPDATE T SET P1=:P1,P2=:P2,...,P40=:P40   WHERE ID=:ID';
   ParamByName('ID') := ...;
   ParamByName('P1') := ...;
   ParamByName('P2') := ...;
      ...
   ParamByName('P40') := ...;
   Execute;
  finally
   Free;
  end;

При запуске глючит: то орет что несоответствие типов в условиях выборки, то якобы отрабатывает, но ничего не меняет

Ничего нигде не меняя, комментарю кусок запроса и кучу строк присвоения параметров так, что остается только первых 10 полей.

Просвистело !

Раскомментариваю так, что в запросе участвуют 20 полей

С песней !

Раскомментариваю так, что в запросе участвуют 30 полей

На ура !

Раскомментариваю так, что в запросе участвуют все поля !

Чтоб я так жил !!!

Замечаю этот эффект далеко не в первый раз. Но на длинныхзапросах.

Барабашка ???


Bronco   (2005-10-12 18:47:00) [1]

А тип параметров задавал?


msguns   (2005-10-12 18:03:00) [2]

>Desdechado ©   (12.10.05 17:51) [1]
>орет-то клиент или сервер?

Сервер, сервер..
НА РУССКОМ ЯЗЫКЕ БОРЛАНД, СВОЛОЧЬ, НЕ РАЗГОВАРИВАЕТ !!!
 ;)))

>Seg   (12.10.05 17:54) [2]
>как насчет проверить :ID?

А как насчет прочитать сабж внимательно ?


msguns   (2005-10-12 18:01:00) [3]

>ANB ©   (12.10.05 17:59) [3]
>Нехороший совет - слезай с АДО и переходи на оракл с прямым доступом.

Угу, это типа если сел неудачно и прищемил, то под корень ?


ANB   (2005-10-12 17:59:00) [4]


> msguns ©   (12.10.05 17:38)

Нехороший совет - слезай с АДО и переходи на оракл с прямым доступом.
Нарывался на схожую проблему, кажется решал строгим указанием типа через AsString. Кстати, MS SQL хорошо кушает строковые параметры и даже даты, если они в универсальном формате YYYYMMDD.


Seg   (2005-10-12 17:54:00) [5]

WHERE ID=:ID'

как насчет проверить :ID?


Desdechado   (2005-10-12 17:51:00) [6]

орет-то клиент или сервер?


Наверх

Титульная страница Поиск, карта сайта Написать письмо