下面的是在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 ...
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
...
BTW: 你要放一个TDatabase,TSeeion,把TSession的autoName := True;
可能是并发操作数据库被锁住了。
你用SQLmoniter 跟踪一下产生的SQL 语句。
如果看不出问题出在哪儿, 在关键的几条贴上来。
既然单用户可以通过,那问题可能出在SERVER本身上(对数据库的各种约束设置、重复记录问题、、、、、、)。但SERVER的问题不会导致两台客户机同时死机,因为查询过程与客户机是分开的。那么很有可能问题在于你的程序。 有些什么样的错误提示?能相告吗?