메뉴 건너뛰기

넷서버 사용 팁/강좌

1. 새로운 프로젝트를 시작하고 프로젝트를 client 로 저장합니다.

2 폼위에 TRequest, TClientDelphi, TQueryMan을 놓습니다.

3. TRequest의 ClientEngine를 TClientDelphi로 연결하고 ConnectProp.Port를 서버의 포트로 지정합니다.

ClientEngine은 클라이언트에서 어떤 소켓을 사용할 것인가를 결정합니다.

서버에서 별도로 지정하지 않았으면 디폴트로 8899 번 포트가 사용됩니다.

그리고 서버컴퓨터의 주소를 적습니다. 자신의 컴퓨터라면 Host에 localhost로 정하면 되고 다른 서버라면 해당 서버의 IP주소나 url을 적습니다.

4, TQueryMan의 Request속성을 TRequest로 연결합니다.

5. TQueryMan.SQL에서 SQL문을 다음과 같이 줍니다. 서버에서 가져올  쿼리할 데이터를 지정합니다.

Select * from customer

6. TQueryMan.TableName을 customer로 주고 KeyField값을 custno로 줍니다.

이 설정은 클라이언트에서 변경된 내용을 SQL을 사용하지 않고 서버로 갱신하고자 할 때 갱신할 테이블이름과 키필드값을 지정합니다.

7. 폼위에 새로 TDataSource와 DBGrid를 놓고 DataSource.Dataset을  폼위의 QueryMan에 연결하고 DBGrid1.DataSource를 새로 놓은 DataSource에 연결합니다.

8. 디자인단계에서 서버에 제대로 연결되는지를 테스트해 볼 수 있습니다.

A. 간단한 BDE서버만들기에서 제작된 서버가 먼저 시작된 상태여야 합니다.

먼저 Request1.Connected를 true로 하면 서버에 연결이 됩니다. 그리고 QueryMan.Active를 true로 변경합니다. 그러면 IDE상에서 서버로부터 데이터를 가져와서 보여줍니다.

9. 접속이 잘되면 반드시 TRequest.Connected를 false로 원상회복하고 QueryMan.Active도 false로 변경합니다.

10. 폼위에 버튼을 하나 놓고 Caption을 "서버갱신"으로 주고 OnCLick이벤트에서 다음과 같이 적습니다. 이 구문은 클라이언트에서 변경된 데이터를 서버에 갱신하는데 트랜잭션을 사용하는 것입니다.  QueryMan1.ApplyUpdates에서 사용하는 속성이 KeyFields와 TableName입니다.

이런 방식이 아니고 SQL을 날려서 직접 갱신하려면 QueryMan의 레코드를 이동하면서 UpdateStatus를 보면 갱신여부를 알 수 있습니다. SQL을 직접 날려서 갱신한 후에는 반드시 QueryMan.ApplyLocalUpdates를 사용하여 변경여부를 클리어 해 주어야 합니다.

Request1.StartTransaction;

try

QueryMan1.ApplyUpdates;

//다른 테이블도 동일한 트랜잭션하에서 서버갱신을 할 수 있습니다.

Request1.Commit;

finally

Request1.RollBack;

end;

12. 폼위에 세 개의 Edit와 한 개의 버튼을 놓고 다음과 같이 이름을 지정합니다.

13. btnConnect의 OnClick이벤트에 연결하는 내용을 적습니다.

with Request1 do begin

ConnectProp.Host := edHost.Text;

ConnectProp.UserName := edUserName.Text;

ConnectProp.Password := edpassword.Text;

Connected := true;

if Connected then QueryMan1.Open;

end;

14. 이제 컴파일하여 실행하면 서버로부터 데이터를 가져오며 데이터를 변경후 "서버갱신"버튼을 누르면 갱신이 됩니다.  여러개의 레코드를 갱신하거나 추가삭제한후에 일괄갱신이 가능합니다.

참고로 customer는 파라독스에서 다른 테이블과 연결되어 있어서 custno필드는 변경할  수 없으며 삭제도 허용하지 않습니다.

다른 필드를 갱신하거나 새 레코드를 추가하여 custno등에 적절한 값을 준다음에 서버갱신버튼을 누르면 갱신이 됩니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 이전게시판의 질문과답변 및 사용팁 메뉴얼관련 링크 admin 2008.01.23 4451
공지 넷서버 동영상 강좌 admin 2008.01.23 3852
공지 넷서버 소개문서 넷서버 2008.01.19 5040
31 midaslib를 추가해 주십시오 admin 2015.08.19 216
30 XE2 이후 unit scope table admin 2014.02.28 1693
29 Java 1.6버젼과 windows server 2008 r2 문제 admin 2011.12.13 3713
28 넷서버 에러코드 및 설명 admin 2011.06.04 4761
27 윈도우서버 2008 R2에서의 닷넷의 문제 admin 2010.05.27 16500
26 패키지의 설치시 폴더의 설정 admin 2009.03.17 5752
25 XP모드에서 TPanel의 Color 사용방법 admin 2008.05.23 4415
24 FibPlus에서 Boolean 필드사용방법 admin 2008.03.18 11453
23 SQLite의 사용상의 주의 admin 2008.02.28 4309
22 디버그컴포넌트(MaxExcept, EurekaLog...)의 사용시 유의사항 admin 2008.02.16 5042
21 Open Source ODBC DBX Driver admin 2008.02.05 3312
20 넷서버의 설치 방법 admin 2008.01.24 4779
19 [동영상] 넷서버 클라이언트 프로그램의 제작 admin 2008.01.24 2974
18 [동영상] 넷서버 서버의 제작 admin 2008.01.24 2650
17 Ch7. 채팅클라이언트 프로그램의 제작 admin 2008.01.24 3110
16 Ch6. 채팅서버 프로그램의 제작 admin 2008.01.24 3062
15 ch 5. 비즈니스오브젝트를 클라이언트에서 사용하기 admin 2008.01.24 2653
14 ch 4. 비즈니스오브젝트의 작성-서버 admin 2008.01.24 4398
13 ch 3.메세지클라이언트의 제작 admin 2008.01.24 4473
» ch 2. 간단한 클라이언트프로그램의 제작 admin 2008.01.24 2891
위로