개발/Database
SQLBindParameter SQLBindCol 차이
재근이
2021. 10. 14. 07:00
반응형
🤼♂️SQLBindParameter과 SQLBindCol의 차이
둘다 변수를 Bind 시키기위해서 사용되기 위해 사용되는 함수인데,
MSDN 설명만으로는 잘 이해가 가질 않았다.
예제 코드들을 보며 이해한 결과
SQLBindParameter는 함수의 매개변수처럼 Bind 시킨다는 개념이고,
SQLBindCol 은 Return 되는 데이터(Row) 셋에 변수들을 Column마다 Bind 시키는 개념이다.
📌SQLBindParameter
SQLBindParameter는 함수의 매개변수와 동일한 개념으로 생각하면 되고,
함수의 매개변수와 마찬가지로 Input 뿐만 아니라 Output도 Bind 가능하다.
(함수의 포인터 또는 참조 변수 타입을 생각하면 된다.)
📌SQLBindCol
SQLBindCol은 여러 Column으로 이루어진 Row 데이터 셋을 받을 때 사용한다.
Output을 Bind 하는 기능이다.
SQLBindCol은 예제 코드를 보며 이해하는 게 좋다.
📄예제 코드
특정 프로시저가 실행되고 리턴되는 데이터 리스트가 있다면,
리스트의 각 Row 데이터 셋에 Column을 연결시키고각 Row 데이터 셋의 값을 출력하는 코드이다.
SQLBindCol(sqlHandle, 0, SQL_C_LONG, &struct_type,data1, 4, len);
SQLBindCol(sqlHandle, 1, SQL_C_LONG, &struct_type,data2, 4, len);
if (SQLExecDirect(sqlHandle, "call dbo.proc", strlen("{call dbo.proc}"))) {
while (SQLFetch(sqlHandle)) {
printf("%d, %d\n", struct_type,data1, struct_type,data2);
}
}
반응형