ODBC를 사용하여 DB에 저장된 데이터를 검색하여 불러오기

 

ODBC를 사용하여 DB의 내용을 변경할 때 다음을 사용한다.

 

화면 구성의 예는 다음과 같이 한다.

 

 

위의 화면이 감시화면 상에 뜰 때 DB의 처음레코드를 불러오고 을 클릭하면 다음레코드를 화면상에 보여준다.

화면상에서 보이는 레코드의 값들을 사용자가 수정한 뒤에 을 클릭하게 되면 DB에 저장된 데이터를 현재 변경한 값으로 갱신하게 된다.

 

1)       편집기|파일|스크립트 의 ‘모듈 시작 시 스크립트’에  다음과 같이 스크립트를 작성한다.

 

 

$UPDATEID = @SQLConnect("autobase","","");

@SQLSelect($UPDATEID, "table1", "bindlist", "","");

@SQLFirst($UPDATEID);

 

위와 같이 프로그램을 작성하면 위의 화면에는 DB의 Table1의 첫번째 레코드를 보여 줄 것이다.

 

2)       버튼을 클릭하게 되면 현재 화면에 보이는 레코드의 내용을 첫번째 레코드의 내용을 보여주게 된다.

 

@SQLFirst($UPDATEID);

 

3)       버튼을 클릭하게 되면 현재 화면에 보이는 레코드의 내용을 마지막 레코드의 내용을 보여주게 된다.

 

@SQLLast($UPDATEID);

 

1)        버튼을 클릭하게 되면 현재 화면에 보이는 데이터의 바로 이전 데이터를 보여주게 된다.

 

@SQLPrev($UPDATEID);

 

2)        버튼을 클릭하게 되면 현재 화면에 보이는 데이터의 바로 다음 데이터를 보여주게 된다.

 

@SQLNext($UPDATEID);

 

3)       현재 화면에 보이는 레코드의 값을 수정하고 버튼을 클릭하게 되면 DB의 자료가 현재 수정된 값으로 변경된다.

 

$UPDATEPOS=@SQLGetPos($UPDATEID); // 현재 수정하려고 하는 데이터의 레코드의 위치를 $UPDATEPOS에 저장한다.

 

@sprintf(buf,"YMD='%s'",$YMD); // DB Field YMD가 텍스트인 경우 ' '으로 묶어주어야 한다.

@SQLUpdate($UPDATEID, "Table1","bindlist",buf);  // 위에서 buf에 저장된 조건에 맞는 데이터의 값을 수정하게 된다.

@SQLSelect($UPDATEID,"Table1","bindlist","","");  //  수정하고 나서 다시 DB의 자료를 불러와야 수정된 내용을 볼 수 있다.

@SQLSetPos($UPDATEID,$UPDATEPOS);  // 수정한 위치의 레코드의 갱신된 값을 읽어온다.