你具体是怎么做的,用了什么控件, Form1上放了什么?

解决方案 »

  1.   

    下面的是在onclick中的程序,FORM1上没有放什么,只是一些Edit用于输入。有一点就是,先insert一个空白记录,然后在Edit上修改,最后POST,然后执行下面的程序。
         if tableppo.state=dsbrowse then exit;
         if (tableppo.State=dsInsert) then
            begin
                 dberevtimes.Field.Value :=0;
                 tableppo.Post;
                 frmcolor:=tfrmcolor.create(self);
                 frmcolor.setppono(dbeppoppono.text);
                 frmcolor.ShowModal;
            end
         else
             begin
                  if tableppo.State=dsbrowse then
                          tableppo.Edit;
                  dberevtimes.Field.value:=dberevtimes.Field.value+1;
                  tableppo.Post;
             end;
         if tableppo.UpdatesPending then
            begin
                tableppo.ApplyUpdates;
                tableppo.CommitUpdates;
            end;
         dbeppoppono.ReadOnly :=true;
         changecolor(panel3,clblack,true);
         label40.Visible:=false;
         except
         ...
      

  2.   

    你是直接操作数据库码?有没有使用多层结构,(最好用midas)
    BTW: 你要放一个TDatabase,TSeeion,把TSession的autoName := True;
      

  3.   

    最好不要使用CatcheUpdate等来操作数据库,因为这样大大降低程序的性能,操作起来你是不是感觉程序反应慢? 并且在网络数据库操作上, 有意想不到的错误. 你可以想其它方法来实现CatchUpdate的有关功能.
      

  4.   

    我认为错并不在CatchUpdate .   它是个很有用的语法。
    可能是并发操作数据库被锁住了。
    你用SQLmoniter 跟踪一下产生的SQL 语句。
    如果看不出问题出在哪儿, 在关键的几条贴上来。
      

  5.   

       你设没设数据库为独占模式?
        既然单用户可以通过,那问题可能出在SERVER本身上(对数据库的各种约束设置、重复记录问题、、、、、、)。但SERVER的问题不会导致两台客户机同时死机,因为查询过程与客户机是分开的。那么很有可能问题在于你的程序。 有些什么样的错误提示?能相告吗?