当然了。你这个要用adLockBatchOptimistic才行。其实,每更改一行数据,UPDATE一次,也是很好的做法啊。

解决方案 »

  1.   

    同意 junglerover(灌木丛) 
    用updatebatch 方法可以批修改
      

  2.   

    to:dbcontrols
    并非是完全相同的记录
      

  3.   

    如果用locktype=adlockbatchoptimistic,用updatebatch是当然的。
    问题是updatebatch代码放到哪里执行,datagrid与rs是绑定的!
    我把rs封装在一个类中,当class terminate时updatebatch,可是也会出错(您可以试试)再问dbcontrols:
    您说“你的数据库中有完全相同的记录”会对记录集有影响吗?表中并没有唯 一索引或主键
      

  4.   

    同时有个关于datagrid的问题:
    datagrid1.allowaddnew=true时,当在有*号的空白空中键入数据时,它一定要再在前面行中点击鼠标才能出现一新的带*号的空白行,这样很讨厌、不方便,能否象TrueDBGrid7中一样,只要在带*号的空白行中输入数据,一个新的空白行就会出现?
      

  5.   

    To ferrytang(ferry) 
    得我的表中也没而日期型字段,请问如果有的话,会有什么影响,为什么?
      

  6.   

    AdLockReadOnly (默认值)只读 — 不能改变数据。 
    AdLockPessimistic 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。 
    AdLockOptimistic 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用Update 方法时才锁定记录。 
    AdLockBatchOptimistic 开放式批更新—用于批更新模式(与立即更新模式相对)。 pls try:
    AdLockPessimistic
      

  7.   

    同意 dbcontrols(泰山__抛砖引玉) 的说法!To: xdd1125(成长快乐) if 有完全相同的记录 and 没有主键 then
       if 删除记录 or 更新记录 then
           msgbox "键列信息不足或不正确,更新影响到过多的行。"
       end if
    end if
      

  8.   

    To Bardo(巴顿) ilfsm(蜀山刀客)
    您可以试试吗,rs绑定一个表格的话不行的,只有用locktype=adlockbatchoptimistic才行,否则会"键列信息不足或不正确,更新影响到过多的行。"我不信没人这样用过,因为很方便,就象excel电子表格一样