表:tdb
ID name  sex  bdelete
1  t1     1      0
2  t2     0      0
3  t3     1      1
      sql :='select * from tdb where bdelete <>'+quotedstr('1') +' and ID = '+ IntToStr(DBGrid1.DataSource.dataset.FieldValues['ID']);
      ADOQuery1.SQL.Clear;
      ADOQuery1.Close;
      ADOQuery1.SQL.Add(sql) ;
      ADOQuery1.Open;这样显示了所有bdelete不是1的数据
然后我选中一个数据后,按删除按钮。就把选中的数据的bdelete改成1。
DBGrid1.DataSource.DataSet.edit;
DBGrid1.DataSource.DataSet.FieldValues['bdelete'] := 1;
DBGrid1.DataSource.DataSet.post;执行完后
DBGrid里显示的是刚才修改为1的数据.我想实现的是把bdelete改成1的就不显示了,而没修改的还在DBGrid里,不知道哪里错了。