꼭 두개를 구분해가면 사용해야 하나요?? 어느 하나만 사용했을때 문제가 생길 수 있나요??
Comment 2
-
컴포지트
2011.12.08 18:27
-
쓸만한게없네(윤선식)
2011.12.08 23:54
컴포지트 말씀에 동의합니다.
데이터를 일괄적으로 불러들이고 표시만 한다면 DataReader를
불러온 데이터를 Filter / Sort 등을 하거나 다른 DataTable 등으로 넘겨야 한다면 DataSet 을 사용해야겠죠.
물론,
통상적으로 개발프레임워크 등에서 대용량 데이터를 직접 핸들링하지 않는 한 DataSet만 사용하는 케이스가
조금 더 많긴 합니다만...
용도에 따라 사용하는 것을 권장합니다.
일단 특징을 알려드리겠습니다. 목적에 맞게 사용하시면 됩니다.
SqlDataReader
데이터 결과물에 대하여 앞으로만 갈 수 있는 커서를 제공합니다.
앞으로 가면서 데이터를 불러오기만 하기 때문에 뒤로 돌아갈 수 없어 세세한 컨트롤이 어렵지만,
메모리 정보에는 데이터에 대한 커서 정보가 들어가기 때문에 빨라서 대용량 데이터를 불러들이기에 적합합니다.
SqlDataAdapter(DataSet)
데이터 결과물을 하나의 묶음으로 저장합니다.
데이터 결과물에 대하여 앞으로 가던 뒤로 가던 양옆으로 가던 데이터를 가공하는 등의 세세한 컨트롤이 가능이 지원됩니다.
데이터가 많을 수록 저장할 수 있는 그만한 메모리를 필요로 하기 때문에 대용량 데이터를 불러들이기에 부적합합니다.