关于Crecordsetdelete的使用

  • 格式:docx
  • 大小:178.80 KB
  • 文档页数:3

昨天刚学习了数据库的基本四项操作——增删改查。

于是就用到vs2010对数据库的表进行操作。

可是后来却发现一个问题:在用delete语句时,不能删除条件给出项,却始终把表的第一项删除了。

于是打断点,调试,发现程序中,用户给出条件后,赋值给SID,即db.m_strFilter = str,右边str=3了,可是前面db.m_strFilter却没有变,仍旧是为1:
猜测前面给出条件时,表中指针仍旧是指向第一列,也就是说虽然给出条件咛赋值成功,但却没有改变指针的指向

打开文档,再查看delete的用法,文档中是这样解释的:“Delete:Deletes the current record from the recordset. You must explicitly scroll to another record after the deletion。

”意思说是删除当前记录。

反过来说,也就是我们之前的做法,当前记录即是在第一列。

反思解决方法,如果在打开表之前先把条件赋值,应该就能在打开表之后把指针指向“SID=3”的那一列了:
再进行操作,删除SID==11的一列,结果可见,已经成功:
编程的乐趣就在于不断发现问题,解决问题。

当你做出一个产品之后就会产生一种成就感,正式这种成就感驱动下才会对枯燥的代码孜孜不倦。

关于Crecordset::delete的使用
/forum.php?mod=viewthread&tid=2354&fromuid=729。