我很疑惑:Delete(adAffectCurrent)后,光标会在哪?
我用ADO,遇到了一个这样的问题:
我要删除数据库中符合某些特征的纪录(不止一条)在执行MySet->Delete(adAffectCurrent)后,(_RecordsetPtr MySet)。
该语句执行后已经改变了结果集,此时光标定位在什么地方呢?
我要继续删除下去,当执行Delete()后再用MySet->MoveNext()发现不对。是不是还的傻傻的先记下删除的那纪录前的纪录数,然后MySet->MoveFirst(),再循环一下,定位到删除的那句的下一句?这样岂不是非常SB?
有没有其他方法呢?
或者我的理解有误?
问题点数:0、回复次数:3Top
1 楼jnxulei(石头)回复于 2003-05-21 17:36:40 得分 0
我以前好象这样用是对的呀。
while(MySet->IsEof() == 0)
{
MySet->Delete();
MySet->MoveNext();
}
象你这种情况,不应该采用这种方法删除。可以执行一条SQL语句:
Delete From TableName Where .......。//写明条件。Top
2 楼wxiao2121()回复于 2003-05-21 17:57:56 得分 0
不会吧?Delete()有参数阿
不信你试试
条件太多,必须用循环
所以只能那样子Top
3 楼wangbab(bab)回复于 2003-05-23 11:05:41 得分 0
SetAbsolutePosition(nIdex);
可以设置绝对位置。Top



