-
Привет, мастера!
Вот незадача (
имею следующее:
Table1.Close;
Table1.Filtered := false;
Table1.Filter := 'Name LIKE ' + QuotedStr('%' + Edit1.Text + '%');
Table1.Open;
вылетает с ошибкой:
EDBEngineError with message 'Operation not applicable'
ругагается на Open. Даже filtered := true - еще не успел поставить, уже на Open ругается.
это я медленный газ или парадокс?
Спасибо!
-
> это я медленный газ или парадокс?
Это TTable.
Если бы это было в запросе
'WHERE Name LIKE ' + QuotedStr('%' + Edit1.Text + '%')
то я бы посоветовал заменить '%' на '*'
-
вот что нашел:
справка по 'Filter property (TBDEDataSet)'
там приведен пример только вот так:
.... Filter := 'Name = ' + QuotedStr('Patternt' + '*');
ну ладно, хоть так.
теперь вопрос второй:
Как сделать Case Insensitive ???
Спасибо!!!
-
> Как сделать Case Insensitive ???
сам себе отвечу: свойства TTable =)
ладно буду пробоваь с TQuery..
-
'WHERE UPPER(Name) LIKE ' + QuotedStr('*' + AnsiUpperCase(Edit1.Text) + '*')
Вероятно, в фильтре также
-
> 'WHERE UPPER(Name) LIKE ' + QuotedStr('*' + AnsiUpperCase(Edit1.Text)
> + '*')
Звездочки... Это как это???
> вылетает с ошибкой:
> EDBEngineError with message 'Operation not applicable'
В TTable прокатывает только такое:
Filter = 'Name = ' + QuotedStr(Edit1.Text + '*');
Для расширенной фильтрации на клиенте, следует юзать соответствующие компоненты: TClientDataSet.
-
> ЮЮ
Спасибо!! Ansi - опа! =)
все. при помощи Query - работает.
(а так для себя помучаю Table..)
Всем спасибо что откликнулись!
Супер форум!
-
> ЮЮ (25.04.2008 07:40:04) [4]
Ну что вы все гадаете, нет никакого LIKE в LocalSQL
-
> ЮЮ (25.04.2008 07:40:04) [4]
В БДЕ и в большинстве движков, есть в SQL и небольшого ряда продуктов
-
> azamatufa (25.04.2008 08:30:06) [6]
Зачем мучаешь? Мазозист? Уйди на Query и не мучайся.
-
> Зачем мучаешь? Мазозист? Уйди на Query и не мучайся.
хорошо, уйду.
Query даст редактировать?
-
сам себе отвечу - даст, если сказать RequertLive !!!!!
-
> azamatufa (25.04.2008 08:59:10) [10]
Там где можно было работать с Tаble завсегда можно работать с Query, поскольку Select * FROM Tbl является точным, но более быстрым и более надежным эквивалентом Tаble, а с добавлением прочих частей резко вырывается вперед.
-
> azamatufa (25.04.2008 09:31:11) [11]
А если еще сказать ReadOnly = True то даст еще больше, сверх повышенную надежность.
яяя