SqlDataReader.Close 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SqlDataReader 개체를 닫습니다.
public:
virtual void Close();
public:
override void Close();
public void Close ();
public override void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()
Public Overrides Sub Close ()
구현
예제
다음 예제에서는 , 및 를 SqlCommand
SqlDataReader만듭니다SqlConnection. 이 예제에서는 데이터를 읽고 콘솔 창에 기록합니다. 그런 다음 코드는 를 SqlDataReader닫습니다. 는 SqlConnection 코드 블록의 using
끝에서 자동으로 닫힙니다.
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command =
new SqlCommand(queryString, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
// Call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
// Call Close when done reading.
reader.Close();
}
}
}
}
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
설명
를 사용하여 다른 용도로 Close 연결된 SqlConnection 을 SqlDataReader 사용할 때 메서드를 명시적으로 호출해야 합니다.
메서드는 Close
출력 매개 변수, 반환 값 및 RecordsAffected
에 대한 값을 채우며 큰 쿼리 또는 복잡한 쿼리를 처리하는 데 사용된 을 SqlDataReader
닫는 데 걸리는 시간을 늘립니다. 반환 값과 쿼리의 영향을 받는 레코드 수가 중요하지 않은 경우 메서드를 호출 Close
하기 전에 연결된 SqlCommand 개체의 메서드를 호출 Cancel 하여 를 닫 SqlDataReader
는 데 걸리는 시간을 줄일 수 있습니다.
주의
클래스의 메서드에서 Connection, DataReader 또는 다른 관리 개체에서 Finalize
또는 Dispose
를 호출 Close
하지 마세요. 종료자에서 클래스가 직접 소유하는 관리되지 않는 리소스만 해제해야 합니다. 클래스에 관리되지 않는 리소스가 없는 경우 클래스 정의에 Finalize
메서드를 포함하지 마세요. 자세한 내용은 가비지 수집을 참조하세요.
적용 대상
추가 정보
.NET