sqlite+sqlquery

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
des00
новенький
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06

sqlite+sqlquery

Сообщение des00 »

Добрый день,

Либо я брежу либо что-то не работает..
пытаюсь сделать запрос к sqlite базе

Код: Выделить всё

..
sqlquery.sql.add('select field1, field2, field3 from tablename');
sqlquery.open;
..

все отлично работает, добавляю немного арифметики

Код: Выделить всё

..
sqlquery.sql.add('select field1, field2-10, field3 from tablename');
sqlquery.open;
..

валиться с сообщиние field not found: field2

пробовал и в "" и в () и tablename.field2 и всяко разно. Как только добавляю действия над полями получаю неработающий проект.

p.s. в родном, консольном sqlite клиенте - все выполняется на ура. В чем может быть дело?
Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Re: sqlite+sqlquery

Сообщение Nik »

Возможно, компонент sqlquery каким-то образом фильтрует запросы и приписка "-10" вызывает ошибку. Посмотрите код функции sqlquery.sql.add.
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Re: sqlite+sqlquery

Сообщение Timid »

Утверждается, что существует регистрозависимость в SQLite. Проверьте, на всякий случай, объявление полей в БД.
des00
новенький
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06

Re: sqlite+sqlquery

Сообщение des00 »

1. Регистр всегда нижний, проблема не в этом
2. Внимательно изучив схемы http://sqlite.org/syntaxdiagrams.html#single-source , написал то, что не вызывает ошибки и работает отлично. Звучит это так

Код: Выделить всё

..
sqlquery.sql.add('select field1, (field2-10) as field2, field3 from tablename');
sqlquery.open;
..


на мой взгляд - это идиотизм, ну да ладно.. ))
Ответить