Тема: 2 Adoquery
Показать сообщение отдельно
  #13  
Старый 19.12.2013, 18:26
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Kis
т.е. если я правильно понимаю то правильно будет так?
Код:
 if ADOQuery2.Locate('garn', ADOQuery1.FieldByName('new_str1').AsString, []) then

в этом случае он постоянно заходит в бегин. поля garn и new_str1 точно не пустые!
Вставь проверку:
Код:
if ADOQuery2.Locate('garn', ADOQuery1.FieldByName('new_str1').AsString, []) then
begin
  ShowMessageFmt('Я зашёл сюда, потому что в ADOQuery2 в записи №%d поле garn имеет значение "%s"'+
    ' и в ADOQuery1 в записи №%d поле new_str1 тоже имеет значение "%s"', [
    ADOQuery2.RecNo,
    ADOQuery2.FieldByName('garn').AsString,
    ADOQuery1.RecNo,
    ADOQuery1.FieldByName('new_str1').AsString
  ]);
.....

Цитата:
Сообщение от Kis
причем навожу курсор на asstring в этой строке
Код:
  if ADOQuery2.Locate(adoquery2.fieldbyname('garn').AsString, ADOQuery1.FieldByName('new_str1').AsString, [loPartialKey]) then
, показывает одинаковые значения у полей...но не заходит в бегин
Ещё раз повторю: первым параметром метода Locate должны быть имена полей, а не их содержимое.
Ответить с цитированием