用ado连接access数据库
我想让dbedit中的数据默认情况下不可编辑
当我点 “编辑”按钮时才可以编辑
并且 只有我点确定按妞时才更新到数据库。现在我遇到的问题是
1 让其默认状态下不可编辑
2 如果我点了编辑按妞 执行 table1.edit;后 如果我在dbgrid中选择了另一行 那么即使我没点确定 我刚才的修改也被提交了 我想防止这种状况出现

解决方案 »

  1.   

    1.dbedit.readonly:=true;//不能编辑
    2.catch update
      

  2.   

    第一步:将adotable1.readonly:=true;
    第二步:如果我点了编辑按妞adotable1.readonly:=false;
    上面两步就可以了
      

  3.   

    但是我如果在编辑状态中 选择了DBGRID中其他的记录 则我的修改就会被提交 而我想当我安确定按妞执行tbale1.post时再提交 如何解决?
      

  4.   

    你可以利用adoquery的locktype属性ltBatchOptimistic来进行设置处理
    这就是改为了缓存的模式 当你修改数据后没有提交的
    需要adoquery.updatebatch来进行提交的
    否则数据是没有更新的