Приветствую.
Требуется удалить запись из набора DataSet.
ADOQuery.SQL.Text:='select article from table where article='0005';
ADOQuery.Open;
ADOQuery.Locate('article','0005',[loPartialKey]);
ShowMessage(ADOQuery.FieldByName('article').AsString);
ADOQuery.Delete;
ShowMessage(ADOQuery.FieldByName('article').AsString);
При первом запуске программы первый ShowMessage показывает article, а второй показывает NULL. Этого я и добиваюсь.
Но при последующих запусках программы даже первый ShowMessage показывает NULL.
Запись в базе данных не удалена, но она больше не отображается.
Для чего я это делаю: Есть два больших набора данных, которые мне требуется сравнить. Прохожу циклом по первому набору данных и нахожу соответствующую запись из второго. Если запись существует, удаляю ее из второго набора. В итоге во втором наборе останутся только записи, отсутствующие в первом.
Может есть более элегантное решение?