用ado记录集实现更新,大家用以下哪种方式呀?是不是有更好的方式?
比如将记录集的字段内容显示在窗体上,显示在文本框中,当用户修改了文本框内容后,如何实现更新呢?
我所能想到的是以下几种方式,不知大家认为哪种好,有没有更好的方法?
一.将文本框与记录集进行绑定,这样当修改了文本框后就会自动更新.
二.不进行绑定,通过用户点下保存按钮进行保存操作,当用户按下保存按钮时,将文本框中的值写入到ado记录集中,然后执行rs.update.
三.将记录集设成只读游标,只起显示数据的作用,更新能过代码进行.即用update语句.如:
strsql="update xxx set x1=90 ,c4=89 where ...."
conn.execute strsql    [conn是连接对象]
四.其他我没想到的方法.
比较一下以下几个方案,我觉得第一种方式最简单,但是也有不足,比如用户修改了文本框的值,移动记录时,系统会自动更新.而且主要有过修改就不能关闭记录集,一定要执行一次rs.cancelupdate才行.
第二种方法就可控性强些,是否更新完全掌握在用户手中.只要不按保存按钮,记录集的值是不会变的,所以不会出现关闭记录集时无法关闭的情况.
第三种方法代码量最大,可是也是最灵活的.
我水平很差,所以只有以上思路,大家实际当中是如何实现的呀?
请大家不吝赐教!
谢--谢--啊啊!!

解决方案 »

  1.   

    我常用方法二、三。在有些场合,Update 方法有时是不可替代的。做得多了就知道了,哪种场合适合用哪种方法。
      

  2.   

    一般我不会选择使用空间的自动榜定。我喜欢自己写SQL。
      

  3.   

    不进行绑定,一般小数据量更新用ado update, 大数据量(或者批量更新) 用Sql 的Update
    第一种不好控制,在多数据库更改时,事务不好做。