Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

Проблемы с Locate   Найти похожие ветки 

 
Rom ©   (2006-02-13 22:05) [0]

Здравствуйте.
Помогите, пожалуйста, разобраться с Locate. Для поиска предполагаю использую описанную ниже процедуру. Поиск только по фамилии (edit1) работает, а по имени (edit2) или двум параметрам нет. Помогите, пожалуйста, найти ошибку и обеспечить поиск по двум параметрам

procedure TForm1.Button4Click(Sender: TObject);
var
locopts: TLocateOptions;
locFields: string;
locValues: variant;
begin
locopts:=[];
locFields:="last_name";
if Length(edit2.Text)>0 then
begin
locFields:=locFields+"; first_name";
LocValues:=VarArrayCreate([0,1], varVariant);  //создание вариантного массива
LocValues[0]:=Edit1.Text; //фамилия
LocValues[1]:=edit2.Text; //имя
end
else
LocValues:=edit1.Text;

if checkBox1.Checked then
  locopts:=locopts+[loPartialKey]; // поиск с частичным совпадением
if checkBox2.Checked then
  locopts:=locopts+[loCaseInsensitive]; //---- без учёта регистра

query1.Locate(LocFields, LocValues, locopts );
end;


 
unknown ©   (2006-02-13 22:49) [1]

Как ни странно, но код рабочий.
проверил на D7, IBX 7.08


 
Виталий Панасенко   (2006-02-14 11:39) [2]

Не, заню, как все реализовано, но, если в Query1 запрос вида select * from table, можно(нужно!!!) переделать на select * from table where last_name=(like) :last_name and firest_name=(like):first_name
Запрос можно создавать динамически, с учетом значений CheckBox1/2. На малых обьемах разницы не будет видно. Но на 1000 и более записях(при наличии индекса) ты будешь приятно удивлен(или НЕ приятно).



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1139566520
Val
2006-02-10 13:15
2006.03.05
Знатокам немецкого: просьба исправить ошибки.


1-1138940530
beglec
2006-02-03 07:22
2006.03.05
Как вставить именно анимационную картинку в RichEdit?


15-1139494192
ZeroDivide
2006-02-09 17:09
2006.03.05
Лена Воронова отдыхает...


15-1139642716
Ega23
2006-02-11 10:25
2006.03.05
С Днём рождения! 11 февраля


2-1139663837
Glex
2006-02-11 16:17
2006.03.05
Как поймать мышиное сообщение и передать его контролу?