Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

поиск по ключу в таблицах с помощью ADOQuery

8.3K
18 октября 2011 года
roman@
63 / / 10.11.2007
подскажите в чем проблема, питаюсь по ключе который нашел в первой таблице найти соответствующую запись или несколько записей соответствующих данному ключу во второй таблице и мне выдает ошибку


var k,i:integer;
begin
k:=0;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM tb1 WHERE word like '+QuotedStr('%'+Edit1.text+'%'));
ADOQuery1.Active:=True;

ADOQuery1.First;
for i:=0 to ADOQuery1.RecordCount-1 do
begin


k:=ADOQuery1.Fields.Fields[0].AsInteger ;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT * FROM tb2 WHERE id=k' );
ADOQuery2.Active:=True;
if (ADOQuery2.RecordCount<>-1) then
Memo1.Lines.Add(ADOQuery2.Fields.Fields[1].AsString);

ADOQuery1.Next;
end;
end;
416
18 октября 2011 года
MaitreDesir
380 / / 02.01.2008
Используй Open вместо Active:=true.
 
Код:
if (ADOQuery2.RecordCount<>-1) then

То есть если строк будет 0 - тебя это устроит?
Текст ошибки в студию....

Upd: тьфу я косорылый.... вот же ошибка:
 
Код:
ADOQuery2.SQL.Add('SELECT * FROM tb2 WHERE id=k' );

а надо было
 
Код:
ADOQuery2.SQL.Add('SELECT * FROM tb2 WHERE id='+inttostr(k) );
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог