티스토리 뷰

보통 C 프로그램은 구조체를 사용한다.

그래서 이번에는 구조체를 사용하여 ESQL 프로그램을 해보겠다.

EXEC SQL BEGIN DECLARE SECTION;
typedef struct
{
  char a[100];
  char b[100];
} S;
EXEC SQL END DECLARE SECTION;


main(int argc, char *argv[]){

$S s;
memset(&s,0x00,sizeof(S));
//배열일 경우는 배열명이 포인터니 그냥 배열이름을 써도 되지만 구조체는 구조체명이 포인터가 아니기 때문에 &붙여서 포인터를 만든다

$char work1[100];
$char work2[100];
memset(work1,0x00,sizeof(work1));
memset(work2,0x00,sizeof(work2));
memcpy(work2,"a2",sizeof(work2));
memcpy(s.a,"a3",sizeof(s.a));

EXEC SQL connect to "dbname";

EXEC SQL DECLARE test_cur SCROLL CURSOR FOR

SELECT a
FROM test
WHERE a=:s.a
;


EXEC SQL OPEN test_cur;

while(1){

  EXEC SQL FETCH NEXT test_cur INTO :work1;

if(sqlca.sqlcode==100){
break;
}else if(sqlca.sqlcode!=0)
printf("error=[%d]\n",sqlca.sqlcode);
}

printf("work1=[%s]\n",work1;
}

EXEC SQL CLOSE test_cur;
EXEC SQL FREE test_cur;
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함