Конференция "Базы" » Paradox - не работает Filter LIKE [D7, Paradox]
 
  • azamatufa © (25.04.08 07:04) [0]
    Привет, мастера!

    Вот незадача (
    имею следующее:


    Table1.Close;
    Table1.Filtered := false;
    Table1.Filter := 'Name LIKE ' + QuotedStr('%' + Edit1.Text + '%');
    Table1.Open;



    вылетает с ошибкой:
    EDBEngineError with message 'Operation not applicable'

    ругагается на Open. Даже filtered := true - еще не успел поставить, уже на Open ругается.

    это я медленный газ или парадокс?

    Спасибо!
  • ЮЮ © (25.04.08 07:21) [1]
    > это я медленный газ или парадокс?

    Это TTable.
    Если бы это было в запросе
     'WHERE Name LIKE ' + QuotedStr('%' + Edit1.Text + '%')
    то я бы посоветовал заменить '%' на '*'
  • azamatufa © (25.04.08 07:22) [2]
    вот что нашел:
    справка по 'Filter property (TBDEDataSet)'
    там приведен пример только вот так:
    .... Filter := 'Name = ' + QuotedStr('Patternt' + '*');

    ну ладно, хоть так.

    теперь вопрос второй:
    Как сделать Case Insensitive ???

    Спасибо!!!
  • azamatufa © (25.04.08 07:31) [3]

    > Как сделать Case Insensitive ???

    сам себе отвечу: свойства TTable =)

    ладно буду пробоваь с TQuery..
  • ЮЮ © (25.04.08 07:40) [4]
    'WHERE UPPER(Name) LIKE ' + QuotedStr('*' + AnsiUpperCase(Edit1.Text) + '*')

    Вероятно, в фильтре также
  • Loginov Dmitry © (25.04.08 07:50) [5]
    > 'WHERE UPPER(Name) LIKE ' + QuotedStr('*' + AnsiUpperCase(Edit1.Text)
    > + '*')


    Звездочки... Это как это???


    > вылетает с ошибкой:
    > EDBEngineError with message 'Operation not applicable'


    В TTable прокатывает только такое:
    Filter = 'Name = ' + QuotedStr(Edit1.Text + '*');

    Для расширенной фильтрации на клиенте, следует юзать соответствующие компоненты: TClientDataSet.
  • azamatufa © (25.04.08 08:30) [6]

    > ЮЮ

    Спасибо!! Ansi - опа! =)
    все. при помощи Query - работает.

    (а так для себя помучаю Table..)

    Всем спасибо что откликнулись!
    Супер форум!
  • Anatoly Podgoretsky © (25.04.08 08:35) [7]
    > ЮЮ  (25.04.2008 07:40:04)  [4]

    Ну что вы все гадаете, нет никакого LIKE в LocalSQL
  • Anatoly Podgoretsky © (25.04.08 08:36) [8]
    > ЮЮ  (25.04.2008 07:40:04)  [4]

    В БДЕ и в большинстве движков, есть в SQL и небольшого ряда продуктов
  • Anatoly Podgoretsky © (25.04.08 08:55) [9]
    > azamatufa  (25.04.2008 08:30:06)  [6]

    Зачем мучаешь? Мазозист? Уйди на Query и не мучайся.
  • azamatufa © (25.04.08 08:59) [10]

    > Зачем мучаешь? Мазозист? Уйди на Query и не мучайся.

    хорошо, уйду.
    Query даст редактировать?
  • azamatufa © (25.04.08 09:31) [11]
    сам себе отвечу - даст, если сказать RequertLive !!!!!
  • Anatoly Podgoretsky © (25.04.08 09:35) [12]
    > azamatufa  (25.04.2008 08:59:10)  [10]

    Там где можно было работать с Tаble завсегда можно работать с Query, поскольку Select * FROM Tbl является точным, но более быстрым и более надежным эквивалентом Tаble, а с добавлением прочих частей резко вырывается вперед.
  • Anatoly Podgoretsky © (25.04.08 09:42) [13]
    > azamatufa  (25.04.2008 09:31:11)  [11]

    А если еще сказать ReadOnly = True то даст еще больше, сверх повышенную надежность.
    яяя
 
Конференция "Базы" » Paradox - не работает Filter LIKE [D7, Paradox]
Есть новые Нет новых   [134432   +19][b:0][p:0.001]