ADOTable1.Active:=False;
  SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+'where Name='+Quotedstr(NameStr)+'and Date='+Quotedstr(DateStr);
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add(SQLStr);
  ADOQuery1.ExecSQL;
  ADOTable1.Active:=True;//这的意思是修改的效果在DBGRID1里面显示出来,ADOTABLE1是连接到DataSource1的,而DataSource1连接到DBGRID1里面,有时我第一次修改没有效果,我再修改一次就可以修改了,为什么呢?