2015-04-06 4 views
1

Я переношу базу данных из SQLITE в Firebird, но теперь мой запрос не работает.Фильтр запросов delphi firedac База данных Firebird

Что я делаю неправильно? Есть ли причина?

frmDados.Clientes.Close(); 
frmDados.Clientes.SQL.Text := 
    'SELECT * FROM CLIENTES ' + 
    'WHERE (nomecliente like :d1) '+ 
    'order by nomecliente asc'; 
frmDados.Clientes.Params.ParamByName('d1').AsString := '%' + Edit1.text + '%'; 

frmDados.Clientes.OpenOrExecute(); 
+0

У вас есть ошибки? – GolezTrol

+0

Нет только фильтра avething. Как будто у меня есть буква «abcd», я пишу A и не фильтрую его, я пишу C, он будет фильтровать. NOMECLIENTE VARCHAR (80), –

+2

«Мой запрос не работает» не является полезным описанием проблемы. Пожалуйста, отредактируйте свой вопрос и объясните *, как это не работает. Вы получаете неправильные результаты? Вы получили сообщение об ошибке? Если вам нужна помощь в решении проблемы, * объясните проблему, с которой вы конкретно работаете *. –

ответ

2

Доза Firebird не поддерживает регистр нечувствительных запросов.

Query_Case_Insensitive.html

Рассмотрим эти варианты

select * from "abc_table" where "Some_Field" = 'Abc' 

select * from "abc_table" where "Some_Field" like 'Abc' 

select * from "abc_table" where "Some_Field" containing 'Abc' 

select * from "abc_table" where upper("Some_Field") = 'ABC' 

Равно (=) и * как * оба выполняют регистрозависимы матчи
*, содержащий * чувствителен к регистру, но будет также соответствовать " abcd '
upper() работает, но не будет использовать индекс и, следовательно, будет читать каждую запись в таблице
Equals (=) является самым быстрым, поскольку он использует индекс (если имеется)

+0

Как это имеет место, но как я могу это сделать в моем случае. У вас есть верхний регистр? или я могу фильтровать? –

+0

@ml. : look [here caseinsensitivesearch] (http://www.destructor.de/firebird/caseinsensitivesearch.htm) –

+0

Firebird поддерживает нечувствительные к регистру запросы (даже индексированные), если вы используете нечувствительную к регистру сортировку. –

Смежные вопросы