![]() |
![]() ![]() ![]() ![]() |
|
Поиск в непроиндексированном поле таблицыDelphi , Базы данных , ПоискПоиск в непроиндексированном поле таблицы
Оформил: DeeCo
{The following function can be added to your to your unit and called as follows:}
Locate(Table1, Table1LName, 'Beman');
{Table1 is your table component, Table1LName is TField you've add with the fields
editor (double click on the table component) and 'Beman' is the name you want to find.}
{Locate will find SValue in a non-indexed table}
function Locate(const oTable: TTable; const oField: TField;
const sValue: string): Boolean;
var
bmPos: TBookMark;
bFound: Boolean;
begin
Locate := False;
bFound := False;
if not oTable.Active then Exit;
if oTable.FieldDefs.IndexOf(oField.FieldName) < 0 then Exit;
bmPos := oTable.GetBookMark;
with oTable do
begin
DisableControls;
First;
while not EOF do
if oField.AsString = sValue then
begin
Locate := True;
bFound := True;
Break;
end
else
Next;
end;
if (not bFound) then
oTable.GotoBookMark(bmPos);
oTable.FreeBookMark(bmPos);
oTable.EnableControls;
end;
Привет! Я переведу текст на русский язык: Код-сниппет на Delphi, реализующий функцию Подпись функции Функция принимает три параметра:
Возвращаемое значение Функция возвращает булево значение, указывающее, было ли найдено значение или нет. Имплементация Код состоит из нескольких шагов:
Если таблица не активна или поле не существует, выходим из функции.
Если значение поля совпадает с искомым значением, устанавливаем
Альтернативное решение
Если вы ищете конкретное значение в неиндексированной таблице, может быть более эффективно использовать метод Например: Это будет искать значение в указанном поле с помощью функциональности поиска, реализованной в компоненте базы данных. Функция Locate позволяет найти строку в непроиндексированной таблице, сравнивая значения поля с заданным значением. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||