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

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

Ругается на целое число [D7, XP]


SveTT ©   (2008-01-24 22:55:00) 

... string='Select max(ID_i) AS MAXID FROM from "Z.db" Where ID<>0';
DMFrm.OPERQUERY.Locate('ID_i', 'MAXID' , []);

ID_i  - целочисленное, цифровое поле
Ошибка "MAXID нот валид интегер валю". Почему?


Sergey13   (2008-01-25 08:35:00) [1]

> [0] SveTT   (24.01.08 22:55)
> ... string='Select max(ID_i) AS MAXID FROM from "Z.db" Where ID<>0';

Что за ... string? По смыслу вроде текст запроса в компоненте типа TQuery. Тогда и обращаться к MAXID вероятно надо как Query1.FielByName('MAXID').asInteger.
Т.е. DMFrm.OPERQUERY.Locate('ID_i', Query1.FielByName('MAXID').asInteger , []);


ЮЮ   (2008-01-25 03:55:00) [2]

> DMFrm.OPERQUERY.Locate('ID_i', '144' , []); - все о'k
> DMFrm.OPERQUERY.Locate('ID_i', 'MAXID' , []); - ошибка

потому что строку '144' можно преобразовать к целому, а строку 'MAXID' - нет.

Если у тебя есть переменная maxId: integer , которой присвоено какое=то значение, то для перехода к записи надо и указываь эту ПЕРЕМЕННУЮ, а не строку с её именем:
 DMFrm.OPERQUERY.Locate('ID_i', maxId, []);


SveTTT   (2008-01-25 00:15:00) [3]

Точно не NULL.
DMFrm.OPERQUERY.Locate('ID_i', '144' , []);- все о'k
DMFrm.OPERQUERY.Locate('ID_i', 'MAXID' , []);- ошибка


palva   (2008-01-25 00:07:00) [4]

Ну тогда MAXID = NULL


SveTTT   (2008-01-25 00:03:00) [5]


> Ошибочный оператор SELECT - два раза подряд FROM

опечатка (здесь)


palva   (2008-01-24 23:59:00) [6]

Ошибочный оператор SELECT - два раза подряд FROM


Наверх

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