我想做一个access在线修改的可视程序,就和access2000那样,但不要这么复杂,就只要对数据进行增删改查就可以了。
转入正题,程序不能要求数据库的每个表都有主键,这在更新或删除的时候就出现麻烦了,删除时我是通过让表中每个field都等于value,我想这样的效率不是很高,而且在更新的时候,因为需要更新的记录改掉了,没有主键,我的WHERE后该怎么办。

解决方案 »

  1.   

    那就要where 除了要更新的所有字段了
      

  2.   

    这样也不行啊,万一别的字段不能确定这一条记录该怎么办啊,
    我是用GridView,不知道在RowUpdating事件时能不能传回没有字段被修改前的值啊。。
      

  3.   

    如果where也不能区分,那估计就只能都删除,而不能更新了,所以平时建表加上索引列是必要的,哪怕是没有意义的索引列
      

  4.   


    也就是说每一个操作都对整个表中的数据通通修改一次?这反而会慢几百倍(原来1秒钟完成的工作现在需要20分钟)。不论有没有索引,将所有字段都写在where中都是按照最低标准“保险”的做法。一旦某个字段有索引,可以确保可以使用到索引,从而查询可以加快速度。所以在where中多写几个判断很值得。除非你知道哪一个字段是主键(或者唯一索引),才不需要在where中写上很多字段。
      

  5.   

    yangbo99 ,见过愚蠢的没有见过楼主这么愚蠢的