问题:
绑定数据源到DATAGRID后,我要对显示出的每一行的某个值修改后重新显示,如何做?
比如下面语句:
    Set DataGrid2.DataSource = Adodc4
    Set rs = Adodc4.Recordset
    While Not rs.EOF
        rs.Fields("oid").Value = EncryptOid(rs.Fields("oid").Value)
        rs.MoveNext
    Wend
我要对查询出的oid(订单号)的值修改后,但不写入数据库,再在原位置显示出来.应该如何做?在线,急等!谢谢
另,我运行上述语句时,提示"缺少更新或刷新的键列信息",调试光标定位到"rs.MoveNext"一行,请问是什么原因导致的?怎样做才能实现我上述要求?

解决方案 »

  1.   

    rs.MoveNext前加上一句:rs.Update至于不保存到数据库嘛,需要在打开记录集前指定记录集的锁定类型为批处理模式:
    rs.LockType = adLockBatchOptimistic
    rs.open ...
      

  2.   

    可能是你的记录集rs(注意是我说的记录集,不是表!)中没有包含主键字段,导致记录中有重复的行,更新时就会出现这种错误了。解决的办法是在select 子句加上一个主键字段(至少不会重复的)
      

  3.   

    yuvotesyg518(小不点 — 〖给我一点气质,我能比周润发还帅!〗) ,
    你有Q  Q吗,我加你.我的是  21702804.偶是一个VB新手,想请你帮忙解决一下这个问题.谢谢了