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

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

Фильтрация, проблема. [D7, Paradox]


Shram ©   (2004-02-25 14:33:00) 

Пытаюсь отфильтровать по имени пишу следущий фильтр :
table1.filter:='name=''Александр';
Table1.filtered:=true;

И когда в программе запускю этот фильтр выдает ошибку: 'Unterminated string constant'


Shram   (2004-02-25 16:39:00) [1]

Всем спасибо...


Vlad40   (2004-02-25 16:27:00) [2]

Хотя работает и без пробела :-)


Vlad40   (2004-02-25 16:25:00) [3]

Насколько я понимаю, проблема тут не в том, что сложно подсчитать кавычки, а в том, сколько их должно быть. Кстати, неплохо бы еще перед and пробел добавить, короче так:

Table1.Filter:='Name =''Петя'' and mydate>='+ quotedstr(datetostr(date));


Guest_2004   (2004-02-25 16:17:00) [4]

Может чтоб не путаться с количеством кавычек использовать #39?


Vlad40   (2004-02-25 16:11:00) [5]

А почему вдруг у тебя после Петя стоит 4 кавычки. Проблема в этом


DenK_vrtz   (2004-02-25 15:32:00) [6]

а не пора ли начать использовать OnFilterRecord


Shram   (2004-02-25 15:29:00) [7]

Уважаемые, помогите, снова возникла проблема, теперь пытаюсь отфильтровать по двум значениям по имени и по дате:
Table1.Filter:='Name =''Петя''''and mydate>='+ quotedstr(datetostr(date));

Запускаю фильтр, выдает следующуб ошибку: 'Arithmetic in filter expressions not supported'


Anatoly Podgoretsky   (2004-02-25 15:03:00) [8]

Стандартный взгляд на проблему :-)


Zacho   (2004-02-25 14:56:00) [9]


> Anatoly Podgoretsky ©   (25.02.04 14:54) [7]

Ага, соответствует, что-то я проглючил малость.. :(


Anatoly Podgoretsky   (2004-02-25 14:54:00) [10]

Zacho ©   (25.02.04 14:35) [1]
Нет ругань будет в рантайм, поскольку правилам Паскаля строка соответвтвует, а вот правилам фильтра нет, будет как раз строка с одним апострофом, а надо два с обеиъ сторон константы 'Александр'

Shram   (25.02.04 14:43) [4]
Не приводи ссылку вне контекста, явно это в инспекторе объектов, в том контексте правильно, а в вопросе это внутри программы.


Anatoly Podgoretsky   (2004-02-25 14:53:00) [11]

Zacho ©   (25.02.04 14:35) [1]
Нет ругань будет в рантайм, поскольку правилам Паскаля строка соответвтвует, а вот правилам фильтра нет, будет как раз строка с одним апострофом, а надо два с обеиъ сторон константы 'Александр'

Shram   (25.02.04 14:43) [4]
Не приводи ссылку вне контекста, явно это в инспекторе объектов, в том контексте правильно, а в вопросе это внутри программы.


Zacho   (2004-02-25 14:47:00) [12]

Если ты это заносишь в Filter в design-time, в Object Inspector'е - то так и пиши. А если в коде пытаешься написать строку с кавычками, то каждую кавычку надо удваивать. Или, например, использовать ф-цию AnsiQuotedStr. Да и еще способ есть :)


Shram   (2004-02-25 14:43:00) [13]

Блин у меня в книге вообще написано Name='Вася'


Zacho   (2004-02-25 14:41:00) [14]

По правилам синтаксиса Паскаля.


Shram   (2004-02-25 14:38:00) [15]

Zacho ©   (25.02.04 14:35) [1]

Спасибо, а зачем эти две последние ковычки нужны?


Zacho   (2004-02-25 14:35:00) [16]

Естественно. Вообще-то это даже компилироваться не должно. Правильно так:
table1.filter:='name=''Александр''';


Наверх

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