惊天大秘诀之一,supermap object 对象使用方法,soRecordset

来源:互联网 发布:手机轰炸机软件免费版 编辑:程序博客网 时间:2024/06/05 00:18

就sorecordset这个简单的类,使用不好也有问题,今天,佟业真大师给大家演示了这一对象使用不好的错误

 

错误的写法:

  1. objRstXzdwLine.MoveFirst();
  2. while (!objRstXzdwLine.IsEOF())
  3. {
  4.     objRstXzdwLine.Edit();
  5.     bool dd = objRstXzdwLine.SetFieldValue(LanduseMap.LYK_XZDWMap.XMID, objBGTB.XMID);
  6.     int fxzdwid = Convert.ToInt32(objRstXzdwLine.GetFieldValue(LanduseMap.LYK_XZDWMap.BSM));
  7.     dd = objRstXzdwLine.SetFieldValue(LanduseMap.LYK_XZDWMap.FXZDWID, fxzdwid);
  8.     dd = objRstXzdwLine.SetFieldValue(LanduseMap.LYK_XZDWMap.YXBZ, 1);
  9.     if (dd)
  10.     {
  11.          int cao = objRstXzdwLine.Update();
  12.     }
  13.     else
  14.      {
  15.      }
  16.     objRstXzdwLine.MoveNext();
  17. }

这样添加的结果有时候就添加不上去

正确的写法是这样的

 

  1. objRstXzdwLine.MoveFirst();
  2. while (!objRstXzdwLine.IsEOF())
  3. {
  4.     bool dd = objRstXzdwLine.SetFieldValue(LanduseMap.LYK_XZDWMap.XMID, objBGTB.XMID);
  5.     objRstXzdwLine.Edit();
  6.     int fxzdwid = Convert.ToInt32(objRstXzdwLine.GetFieldValue(LanduseMap.LYK_XZDWMap.BSM));
  7.     dd = objRstXzdwLine.SetFieldValue(LanduseMap.LYK_XZDWMap.FXZDWID, fxzdwid);
  8.     dd = objRstXzdwLine.SetFieldValue(LanduseMap.LYK_XZDWMap.YXBZ, 1);
  9.     if (dd)
  10.     {
  11.          int cao = objRstXzdwLine.Update();
  12.     }
  13.     else
  14.      {
  15.      }
  16.     objRstXzdwLine.MoveNext();
  17. }

也就是说,结论:在sorecordset进行edit之后,update之前,不要对这个sorecordset进行操作

原创粉丝点击