![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ругается на целое число [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