如何将记录集中在刚刚在DBgrid Delphi中删除的记录附近?

时间:2011-11-30 09:51:23

标签: database delphi

我在Delphi中使用TDBgrid,数据集是Adoquery。我有很多记录,其ID从1到1000.现在我想删除35号TadoQuery'删除...'有没有办法立即关注客户的第34或第36条记录检查第35个是否已被删除。 这是我删除按钮的代码

StudentID := UniQuery1.FieldValues['StudentID'];
UniQuery1.SQL.Clear();
UniQuery1.SQL.Text :=('Delete from Student where StudentID = ''' + StudentID + '''');
UniQuery1.SQL.Add('select * from Student');
UniQuery1.Execute;

任何人都可以提供帮助,非常感谢你。

3 个答案:

答案 0 :(得分:2)

如果您使用TClientDataSet(无论如何这是一个好主意),您可以使用FindNearest

答案 1 :(得分:0)

首先,将元组 previous 的id保存到您要删除的ID。然后删除要删除的元组,然后找到保存的元组。要转到上一个元组,请使用uniquery1.moveby(-1)。

答案 2 :(得分:0)

删除前保存UniQuery1.RecNo。删除后,重新查询数据集,该数据集应设置第一个记录处于活动状态,然后发出UniQuery1.MoveBy(SavedRecNo - 1)UniQuery1.MoveBy(SavedRecNo - 2),具体取决于您是要移动到成功记录还是删除记录之前。