SqlDataReader 클래스

SqlDataReader를 만들려면, 생성자를 직접 사용하지 않고 SqlCommand 개체의 ExecuteReader 메서드를 호출해야 합니다.

SqlDataReader가 사용 중이면, 관련 SqlConnection이 SqlDataReader를 사용하고 있으며, 이를 닫지 않으면 SqlConnection에서 다른 작업을 수행할 수 없습니다. 이런 상태는 SqlDataReader의 Close 메서드가 호출될 때까지 적용됩니다. 예를 들어, Close를 호출할 때까지 출력 매개 변수를 검색할 수 없습니다.

데이터를 읽는 동안 다른 프로세스나 스레드에 의해 결과 집합이 변경되면 SqlDataReader의 사용자가 이를 볼 수 있습니다. 그러나 세부적인 동작은 타이밍에 따라 달라집니다.

IsClosed와 RecordsAffected는 SqlDataReader를 닫은 후에 호출할 수 있는 유일한 속성입니다. SqlDataReader가 존재하는 동안 RecordsAffected 속성에 액세스할 수 있지만, RecordsAffected의 값을 반환하기 전에 항상 Close를 호출하여 반환 값이 정확하도록 합니다.

다음 예제에서는 SqlConnectionSqlCommandSqlDataReader 등을 만듭니다. 이 예제에서는 데이터를 읽고 해당 데이터를 콘솔 창에 씁니다. 그런 다음SqlDataReader를 닫습니다. SqlConnection은 using 코드 블록의 끝에서 자동으로 닫힙니다.