![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование LIKE при формировании SQL запроса [D6, dBase, FoxPro]
RRA © (2004-12-17 12:26:00)Как правильно задать условие частичного совпадения значения с помощью LIKE при формировании SQL запроса? Код, который ниже, отрабатывает правильно, когда данные поля и введенного значения абсолютно идентичны, а если ввести первые несколько символов, то ничего не находит. При чем точно известно, что эти первые символы введенного значения точно соответствуют первым символам в поле таблицы. (Delphi6/dBase тип поля - Character, поле ввода - TEdit)
В чем может быть казус?
Процедура:
procedure TmForm.Action_StartSearchExecute(Sender: TObject);
begin
mForm.Table1.Active := True;
case MForm.RadioGroup_TS1.ItemIndex of
0 :
............
1 :
............
2 :
begin
with mForm.Query1 do
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select *');
Query1.SQL.Add('FROM "DB_Drawing.dbf"');
Query1.SQL.Add('WHERE NameObj LIKE "' + mForm.Edit_NameObj.Text +'" ');
Open;
end;
end;
3 :
............
4 :
............
end; // case
if mForm.Query1.RecordCount = 0
then MessageDlg('Ничего не найдено!', MtWarning, [mbOk],0)
else
begin
mForm.TabSheet_Result.TabVisible := True;
mForm.SM_Search_Result.Enabled := True;
mform.PageControl.ActivePage := mForm.TabSheet_Result;
end;
end; //procedure
RRA (2004-12-17 12:36:00) [1]Понял, спасибо!
Johnmen (2004-12-17 12:34:00) [2]1. LocalSQL.hlp
2. В общем случае неверно
>if mForm.Query1.RecordCount = 0
Надоif mForm.Query1.IsEmpty then
Александр Иванов (2004-12-17 12:32:00) [3]Еще ? и кроме того регистр.
ЮЮ (2004-12-17 12:32:00) [4]Например, LIKE 'коро%'
ЮЮ (2004-12-17 12:30:00) [5]LIKE [* | %] <SomeText> [* | %]
* или % - зависит от движка