Помогите ламеру с ADO Plz
Короче есть база , есть DBGrid... Есть AdoQuery... Когда программа загружаеться то в DBGride'e отображаються все записи как положено, так как в AdoQuery в свойстве SQL прописано Select * From ИмяТаблицы...
Начинаешь редактировать запись вот так:
procedure TFEditRec.Button1Click(Sender: TObject);
begin
FMain.ADOQuery1.Edit;
FMain.ADOQuery1DSDesigner3.Value:=FEditRec.LeIsp.T ext;
FMain.ADOQuery1DSDesigner4.Value:=FEditrec.Lekom.T ext;
FMain.ADOQuery1DSDesigner7.Value:=FEditRec.CBIst.I tems.Strings[CBIst.itemindex];
FMain.ADOQuery1DSDesigner8.Value:=FEditRec.CBlogo. Items.Strings[CBlogo.itemindex];
FMain.ADOQuery1DSDesigner5.Value:=FEditRec.LeGod.T ext;
FMain.ADOQuery1DSDesigner9.Value:=FEditRec.LeDop.T ext;
FMain.ADOQuery1DSDesigner10.Value:=FEditRec.CBBase .Items.Strings[CBBase.itemindex];
FMain.ADOQuery1DSDesigner11.Value:=FEditRec.CBStat us.Items.Strings[CBStatus.itemindex];
FMain.ADOQuery1.Post;
FEditRec.Close;
end;
Все нормально редактируеться , данные изменяються....
Но когда пользователю нужно сделать выборку по определённым записям вот так:
procedure TFMain.Button4Click(Sender: TObject);
begin
FMain.ADOQuery1.Active:=False;
FMain.ADOQuery1.SQL.Clear;
FMain.ADOQuery1.SQL.Add('SELECT *');
FMain.ADOQuery1.SQL.Add('FROM ИмяТаблицы');
FMain.ADOQuery1.SQL.Add('WHERE ИмяПоля Like ''' + FMain.Edit1.Text + '%''');
FMain.ADOQuery1.SQL.Add('UNION');
FMain.ADOQuery1.SQL.Add('SELECT *');
FMain.ADOQuery1.SQL.Add('FROM ИмяТаблицы');
FMain.ADOQuery1.SQL.Add('WHERE ИмяПоля Like ''The ' + FMain.Edit1.Text + '%''');
FMain.ADOQuery1.Active:=True;
End;
И потом запись найденную в выборке отредактировать c помощью вышеприведённой процедуры, выскакивает ошибка:
raised exception class EOLeException with message' Недостаточно сведений из основной таблицы для обновления'.
Ошибка выскакивает из-за вот этой SQL команды:
FMain.ADOQuery1.SQL.Add('UNION');
Понял только одно, пока шарился по просторам интернета и читал ответы форумах, что ошибка очень серьезная и связана с самой спецификацией ADO... Думаю проще обойти эту строчку, а так как в SQL я мягко говоря валенок... Вопрос такой:
Как оформить SQL запрос чтобы в DBGride отбражались записи с искомым тестом и записи с искомым текстом и с приставкой The перед ним???
|