![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доброго времени суток, нуждаюсь в совете, плз [D5, MSSQL, ]
DeadMoroz © (2001-12-03 15:21:00)Для поиска в таблице использую стандартную процу:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text<>"" then
begin
Table1.Locate("NUM",Edit1.Text,loCaseInsensitive,loPartialKey]);
end;
end;
но, в данном случае поле "NUM" типа Int...Короче, курсор переползает на запись только при полном совпадении Text со значением поля, то есть как бы никакого loPartialKey и нету, а очень хотелось бы. Перепробовал все остальные методы (и Pos тоже)... в итоге пришел сюда.
Присоветуйте, кто чем может, заранее Спасибо :-).
DeadMoroz (2001-12-04 09:16:00) [1]Попробовал.....работает, но жуткий тормозняк...
Есть еще советы?
DeadMoroz (2001-12-03 16:09:00) [2]Дело в том, что мой Table1 является Мастером и все равно курсор нужно перемещать в его DataSet"e....хотя попробую TmpQuery завязать на тотже DataSet1...
Deniz (2001-12-03 15:50:00) [3]
procedure TForm1.Edit1Change(Sender: TObject);
var i : integer;
begin
if Edit1.Text<>"" then begin
TmpQuery.SQL.Clear;
TmpQuery.SQL.Add("select num from table1
where cast(num as varchar(20)) like :aNum");
TmpQuery.Prepare;
TmpQuery.Params[0].asString:=Edit1.Text;
TmpQuery.Open;
if TmpQuery.IsEmpty then begin
TmpQuery.Close;
ShowMessage("Not found.");
Exit;
end
else begin
i:=TmpQuery.Fields[0].asInteger;
TmpQuery.Close;
Table1.Locate("NUM", i, []);
end;
end;
end;
TmpQuery - временная Query
Удачи.