本人用access数据库结合socket实现了一个c/s模式的信息管理系统。其中原理是,在服务端客户端使用同样的mdb文件,客户端的mdb是空的,用于存放临时结果,服务端的为实际数据库,用于存放数据。客户端创建了关于数据库操作的对象,字段为commandhead和dataset,dataset即存放对客户端临时数据库操作后的datatable变化,序列化后给服务端。服务端反序列化对象,根据commandhead判断不同的操作,然后从dateset中获得datatable,再用tableAdapter对服务端的数据库进行更新。
客户端可以通过getalllist命令从服务端获得所有数据库中的条目,并且显示。对于修改操作:保存修改前后的条目的数值,作为dateset.table.row中的2行,传到服务端,再解析出这两行的各个字段,
用TableAdapter.update()进行更新
  目前TableAdapter.insert()操作100%没问题,也可100%返回数据到客户端显示。但诡异的是update()有时可以有时不可以,究其原因是delete()操作有时成功有时不成功。比如:
  对于新加入的一个条目,可以修改(即update)5,6次。然后再修改就修改不了了。其中条目中有字段为时间,格式是文本,一旦我修改添加了这个字段,下面就无法再修改或者删除了。
  对于新加入的条目,可以删除,但是对于数据库中已有的条目,通过客户端操作,无论是修改删除都不能成功。    请问是什么原因??他也不报错,只是在update的返回值中为0,即不成功。