哎!又是dbgrid!
我是用dbgrid作输入界面,其中有一个叫学号的关键字,问:如果在dbgrid输入了和前面一个相同的学号,怎样给出一个提示,禁止输入?我不用如下的
procedure TForm1.ADOTable1PostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
  if ADOConnection1.Errors.Item[0].NativeError=-105121349 then
  begin
    MessageDlg('出现重复记录!', mtWarning, [mbOK], 0);
    ADOTable1.Cancel;
    Abort;
  end;
end; 
有没有像在数据表中搜索学号,如果找到取消数据的提交,  一个要求,用dbgrid做输入界面:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
ADOQuery1.First;
while not adoquery1.Eof do
begin
if adoquery1.FieldByName('Grade_ID').AsString =edit1.Text then 
begin
showmessage('关键字重复!');
edit1.SetFocus ;
edit1.SelectAll ;
exit;
end
else
adoquery1.next;
end;
end;