首页 > 解决方案 > Delphi 同步表

问题描述

此应用程序在网络中的平板电脑上运行。我有一个向表格添加记录的按钮:

procedure TTurnosList.CornerButton1Click(Sender: TObject);
begin
  with D_Turnos do
  begin
    TurnosSocios.Insert;
    TurnosSociosCod_Socio.Value := SociosCod_Socio.Value;
    Cod_Socios_Esperando.Add(IntToStr(D_Turnos.SociosCod_Socio.Value));
    TurnosSocios.Post;

    TurnosSocios.ApplyUpdates();
    TurnosSocios.CommitUpdates;
    ConexionTurnos.Commit;
  end;
end;

另一方面,他们可以从其他 PC 更新同一个表。并且TIdTCPServer我必须更新所述表的视图,我这样做是这样的:

procedure TD_Turnos.Tablet_IdTCP_ServerExecute(AContext: TIdContext);
var
  S: String;
begin
  S := AContext.Connection.Socket.ReadLn;
  if S <> '' then
  Begin
    TurnosSocios.Close;
    TurnosSocios.Open;
    TurnosList.Cod_Socios_Esperando.Delete(StrToInt(S));
  End;
end;

问题是,我如何同步它们以避免冲突?

标签: delphi

解决方案


推荐阅读