sqlite+sqlquery

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

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

sqlite+sqlquery

Сообщение des00 » 21.10.2010 14:37:12

Добрый день,

Либо я брежу либо что-то не работает..
пытаюсь сделать запрос к 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 клиенте - все выполняется на ура. В чем может быть дело?
des00
новенький
 
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06

Re: sqlite+sqlquery

Сообщение Nik » 21.10.2010 15:20:14

Возможно, компонент sqlquery каким-то образом фильтрует запросы и приписка "-10" вызывает ошибку. Посмотрите код функции sqlquery.sql.add.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: sqlite+sqlquery

Сообщение Timid » 21.10.2010 15:25:26

Утверждается, что существует регистрозависимость в SQLite. Проверьте, на всякий случай, объявление полей в БД.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Re: sqlite+sqlquery

Сообщение des00 » 21.10.2010 18:08:57

1. Регистр всегда нижний, проблема не в этом
2. Внимательно изучив схемы http://sqlite.org/syntaxdiagrams.html#single-source , написал то, что не вызывает ошибки и работает отлично. Звучит это так
Код: Выделить всё
..
sqlquery.sql.add('select field1, (field2-10) as field2, field3 from tablename');
sqlquery.open;
..


на мой взгляд - это идиотизм, ну да ладно.. ))
des00
новенький
 
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 58

Рейтинг@Mail.ru