一个Delphi Xe2 三层数据库应用的源码例子
我是想通过多线程,连接远程的数据库,进行数据查询和修改,对这些有一点概念,对DELPHI是新手,请各位大侠出手相助!
在网上也查了很多例子,基本上都是用socket,都是D7的代码,要建一个远程数据模块,但我在XE2里找不到,不知道用什么方法实现会比较好呢?最后有实例,
好像现在3层都用DataSnap了。
procedure TfrmMain.dsrvrServerConnect(DSConnectEventObject : TDSConnectEventObject); var ClientConnection: TIdTCPConnection; val: TCP_KeepAlive; Ret: PDWORD; begin EnterCriticalSection(FSection); if DSConnectEventObject.ChannelInfo <> nil then begin ClientConnection := TIdTCPConnection(DSConnectEventObject.ChannelInfo.Id); ClientConnection.OnDisconnected := ClientDisconnectEvent; // 祑都豖堤ㄛ涴曆岆壽瑩 // 扢离陑泐婦 val.OnOff := 1; val.KeepAliveTime := 5000; val.KeepAliveInterval := 3000; WSAIoctl(ClientConnection.Socket.Binding.Handle, IOC_IN or IOC_VENDOR or 4, @val, SizeOf(val), nil, 0, @Ret, nil, nil); // 珆尨陓洘 cdsClients.DisableControls; cdsClients.Append; cdsClients['ClientID'] := DSConnectEventObject.ChannelInfo.Id; cdsClients['ClientIP'] := ClientConnection.Socket.Binding.PeerIP; cdsClients['ClientPort'] := IntToStr(ClientConnection.Socket.Binding.PeerPort); cdsClients['LoginTime'] := Now(); cdsClients.Post; cdsClients.EnableControls; end; LeaveCriticalSection(FSection); end;