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

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

Фильтрация в TIBTable [D6, IB6.x]


ias ©   (2004-02-26 20:27:00) 

Подскажите пожалуйста в чём может быть ГЛЮК?
TIBTable1.filter:='name=''Nikolay''';
TIBTable1.filtered:=true;
Возникает исключительная ситуация:неизвестная таблица,хотя таблица уж есть точно? (D6,IB6)


jack128   (2004-03-04 20:16:00) [1]

> Zacho ©   (04.03.04 20:03) [13]
Я понял -) У мя тоже что то внутри востает, когда я пытаюсь назвать табличку OBJECT, а то чем черт не шутит.. :-)


Zacho   (2004-03-04 20:03:00) [2]

Просто хочется добавить: мой предыдущей пост не "наезд" и не демонстрирование собственной (весьма сомнительной) "крутости", а действительно, толи повезло, толи интуиция+опыт сработали :)


Zacho   (2004-03-04 19:54:00) [3]

2 jack128 © : Типа вызвавшее у многих проблемы TYPE ? :-)
Просто, может я умный, а может глупый, но переход с IB 4.2 на IB 6.0 в свое время у меня подобных проблем не породил :-) Просто не было у меня метаобъектов с названиями, ставшими зарезервироваными. И не было именно потому, что изначально я старался не называть метаобъекты типа TYPE, MONTH и т.п. :)


jack128   (2004-03-04 18:07:00) [4]


> Зачем лишние проблемы ?
проблемы будут когда в следующй версии FB название одной из твоих таблиц станет зарезвированным словом ;-)


ias   (2004-03-04 17:56:00) [5]

Спасибо большое. База у меня действительно в 3-м диалекте.


Zacho   (2004-02-29 12:09:00) [6]


> jack128 ©   (29.02.04 11:31) [8]
> не-а, по крайней мере таблицу "Таблица" ты создать не сможешь.
> Или ты что то иное имел ввиду ?

Может быть. Я не пробовал. Но по документации - можно.
Я сам всегда называю метаобъекты только латинницей в верхнем регистре. Зачем лишние проблемы ?


jack128   (2004-02-29 11:31:00) [7]


> возможность использования в именах любых символов (в том
> числе - кириллицы),
??
не-а, по крайней мере таблицу "Таблица" ты создать не сможешь. Или ты что то иное имел ввиду ?
А насчет регистрозависимости - дело вкуса, из-за ограничения на длину названия таблицы понятное и хорошо читаемое название иногда трудно придумать - приходится разделять слова символом подчеркивание ('_'), например MY_VERY_COOL_TABLE_FOR_ADDRE и "MyVeryCoolTableForAddresses"


Anatoly Podgoretsky   (2004-02-29 10:51:00) [8]

Регистро зависимость не нужна, на мой личный взгляд это зло
Кирилица, хорошая вещь, если знаешь что делаешь, но тут существуют и религиозный взгляд на это дело.
Не использование этих обеих методов уменьшает количество проблем.


Zacho   (2004-02-29 10:14:00) [9]

И еще небольшое дополнение.
Если у тебя база в диалекте 3, и при создании метаобъектов ты задавал их имена в кавычках, то и при обращении к ним надо писать их имена в кавычках и именно в том регистре, в каком они были написаны.
Например:
CREATE TABLE "Tnames" ...

SELECT .. FROM Tnames - неправильно
SELECT .. FROM "TNAMES" - неправильно
SELECT .. FROM "Tnames" - правильно.

А что бы таких проблем не возникало, при создании метаданных надо их имена писать без кавычек. Правда, при этом теряется регистрозависимость и возможность использования в именах любых символов (в том числе - кириллицы), но оно надо ?


Zacho   (2004-02-29 07:34:00) [10]

Ну значит нет у тебя таблицы с именем Tnames, вот и все.
И небольшой совет: выкини нафиг и TIBTable, и TIBQuery. TIBDataSet и TIBSQL достаточно для всего, чего угодно, и проблем меньше.


ias   (2004-02-28 19:49:00) [11]

попробовал так:
ibquery1.sql.text := 'select * from Tnames where name = ''Nikolay''';
ibquery11.Open;

возникает ошибка: SQL error code= -204
Table unknown Tnames


Zacho   (2004-02-27 06:36:00) [12]

В TIBTable - реализовано, но выражение из Filter просто подставляется в запрос после WHERE, так что и писать его надо в соответствии с синтаксисом SQL


Johnmen   (2004-02-26 21:39:00) [13]

Не получится еще и потому, что в IBX свойство Filter не реализовано...


jack128   (2004-02-26 21:07:00) [14]

забей на table? используй TIbDataSet/TIbQuery

ibquery.sql.text := 'select * from TableName where name = ''Nikolay''';
ibquery1.Open;


Наверх

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