三层结构客户端调用ApplyUpdate(-1)有问题

                            
来自:gxdx,   时间:2003-6-2   8:15:00,   ID:1915570   |   编辑   [显示:小字体   |   大字体]         
   
  一个表里的记录竟然存在不公平待遇,一张表里有些记录ApplyUpdate(-1)有效,后台数据库的确  
  更新了,而另一些记录无论怎么ApplyUpdate(-1),后台数据库都是没动静。  
  我的这张表除了一个自动编号的字段外,其余的都是可空字段,而数据输入时应该都是合法的。  
  请问这是怎么一回事呢?      
   
   
  来自:bitd,   时间:2003-6-2   8:19:00,   ID:1915580  
  你用什么数据库?可能和这个自动编号的字段有关,  
  我用interbase也发生过类似问题      
   
   
  来自:HHSH,   时间:2003-6-2   9:20:00,   ID:1915804  
    这没什么奇怪的。要看对这些记录进行了什么操作,更新失败的原因是什么。  
  举个简单的例子:假如你对两批记录都执行delete操作,在后台更新时,在第一批记录中很快地找到了你要找的记录(唯一),于是ApplyUpdate(-1)便成功了。而在第二批记录中,在后台更新时,查找到的记录可能不是唯一的(例如,表没主键时就可能出现这种情况),ApplyUpdate(-1)就更新失败了。  
   
  最好是用错误窗口看一下,很容易捕捉到更新失败的错误。具体怎么做,介绍三层系统的书  
  上一般都有。      
   
   
  来自:Dephic,   时间:2003-6-2   9:26:00,   ID:1915826  
  同意HHSH,的说法,你提交之后,不是数据库没有动静,我想应该是主键冲突等情况引起更新失败!你要跟踪一下你后台的代码,先查明是什么原因导致提交失败,再处理吧!      
   
   
  来自:gxdx,   时间:2003-6-2   11:03:00,   ID:1916293   |   编辑  
  请问HandelReconcileError()是哪个unit里的呢?      
   
   
  来自:HHSH,   时间:2003-6-2   11:38:00,   ID:1916476  
  uses   uniterror   就OK了!  
     
   
   
  来自:LiChaoHui,   时间:2003-6-2   11:40:00,   ID:1916492  
  看这个函数的返回值,非零就是有错误      
   
   
  来自:gxdx,   时间:2003-6-2   12:33:00,   ID:1916677   |   编辑  
  可我想知道错误的信息。  
  UnitError不行啊,找不到该单元      
   
   
  来自:gxdx,   时间:2003-6-2   12:44:00,   ID:1916713   |   编辑  
  啊,我知道怎么得到错误信息了。  
  showMessage(e.Message)  
   
  返回的错误信息是:  
  Record   not   found   or   changed   by   another   user  
  但明明存在而且只有我一个人在弄的也。怎么回事啊?      
   
   
  来自:hcm0790,   时间:2003-6-2   13:06:00,   ID:1916803  
  象ApplyUpdate這樣的函數玩玩還可以,   千萬不要用在產品中.   還是自已寫吧.      
   
   
  来自:gxdx,   时间:2003-6-2   13:42:00,   ID:1916960   |   编辑  
  不会吧?会死人的也。时日无多啦。要交货了。惨。      
   
   
  来自:LiChaoHui,   时间:2003-6-2   14:11:00,   ID:1917070  
  ApplyUpdate很正常啊,我都用这个,没有发现特别的问题,  
     
   
   
  来自:gxdx,   时间:2003-6-2   20:31:00,   ID:1918679   |   编辑  
  n年以前添加的数据都可以Update,现在insert可以,后台有新数据,但insert进去的数据就  
  再也不可能Update了。就是新添加的数据不可以update,老是说:Record   not   found   or   changed  
  by   another   user。  
   
  大侠们救命啊。不然迟点你们只能在新闻头条上看到我了。      
   
   
  来自:menxin,   时间:2003-6-2   20:32:00,   ID:1918688  
  服务端是什么,adoquery?要设置一下      
   
   
  来自:gxdx,   时间:2003-6-2   21:44:00,   ID:1918909   |   编辑  
  是啊,是adoquery啊。要怎么设置啊?      
     
 

查看回复