📄 clientfrm.pas
字号:
unit clientfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBClient, MConnect, Grids, DBGrids, ObjBrkr;
type
TForm1 = class(TForm)
SimpleObjectBroker1: TSimpleObjectBroker;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DCOMConnection1: TDCOMConnection;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ClientDataSet1.ApplyUpdates(0); //尝试数据更新
except
//出现例外,更新不成功
on Exception do
begin
try
//尝试关闭DCOMConnection1的连接,并关闭SimpleObjectBroker1到原来服务器的连接
DCOMConnection1.Connected := False; //尝试关闭原来的连接
SimpleObjectBroker1.SetConnectStatus(DCOMConnection1.ComputerName, False);
finally
try
DCOMConnection1.ComputerName := SimpleObjectBroker1.GetComputerForProgID
(DCOMConnection1.ServerName); // 取得可用应用程序服务器的机器名称
DCOMConnection1.Connected := True; //重新建立连接
ClientDataSet1.ApplyUpdates(0); //再次更新数据
except
//连接失败或数据更新失败时,表示可能已经没有可有的连接,
//则直接将数据写到一个指定的临时文件中
on EBrokerException do
ClientDataSet1.SaveToFile('Sample.Dat'); // 保存数据
end;
end;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientDataSet1.Open; //打开数据库
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -