Недостаточные сведения о ключевом столбце для обновления

При удалении записи из таблицы возникает ошибка Недостаточные сведения о ключевом столбце для обновления, с чем она может быть связана? Код обновления и удаления представлен ниже!
procedure TP_prihodForm.Refresh;
var s:string;
var i:integer;
begin
 s:=DM.PrihodQuery.FieldValues['ID_p/n'];
 DM.PrihodQuery.Close;
 DM.PrihodQuery.Open;
 DM.PrihodQuery.Locate('ID_p/n',s,[]);
 DBGrid1.Columns.Items[3].Visible:=false;
 DBGrid1.Columns.Items[6].Visible:=false;
 DBGrid1.Columns.Items[8].Visible:=false;
end;
 
procedure TP_prihodForm.SpeedButton3Click(Sender: TObject);
begin
Refresh;
 if  DM.PrihodQuery.FieldValues['edit']=false then
  begin
   if MessageDlg('Удалить запись?',mtWarning,[mbYes,mbNo],0)=mrYes then
    begin
      DM.PrihodQuery.Delete;
     Refresh;
    end;
  end
 else
  MessageDlg('Запись редактируется другим пользователем',mtError,[mbOK],0);
end;
2 ответа

procedure TP_prihodForm.Refresh;
это вообще что за чушь?


Недостаточные сведения о ключевом столбце для обновления
Данная фраза абсолютно точно указывает, что в таблице не обозначены ключевые поля (счетчик, идентификатор). Определи столбец с первичным ключом.