Dim rs as ADODB.Recordset
set rs = ReturnARecordset 'assume ReturnARecordset does just that...
'do something with rs
rs.Close
set rs = Nothing
rs.Close를 호출해야만 아무 것도 설정하지 않아도됩니까?Adodb.recordset 개체를 닫고 아무것도 설정하지 않았습니까?
편집 : 우리는 응용 프로그램의 지속 기간 동안 열려있는 하나의 전역 연결을 가지며 모든 레코드 세트 개체는이 동일한 연결을 사용합니다. 연결이 끊어지지 않도록하기 위해 레코드 세트를 닫아야 할 필요성에 대해 아래에서 두 가지 대답을 봅니다. 연결 개체는 연결 개체로 제어되고 레코드 세트 개체는 올바르게 제어되지 않으므로 저에게는 바보 같은 말처럼 들립니다. 그러나 여기에 뭔가 빠졌는지 알려주세요.
내 생각을 정확하게. 나는 주로 그들이 작성된 함수에 비공개 인 레코드 세트 변수에 대해 Close 메소드를 호출하여 범위를 벗어나는 유효한 이유가 있는지를 파악하려고합니다. –
'Close'를 호출하여 * local *을 'Nothing'으로 명시 적으로 설정하면 코드의 인터넷 욕실이 가득한 같은 Cargo Cult 프로그래밍의 일부입니다. 상식을 사용하면 특정 환경에서 누출을 테스트하는 것이 가장 좋습니다. – wqw
그래, 어쨌든 범위를 벗어나려고 할 때 나는 아무것도 설정하지 않는다. 하지만 그 질문에 대한 것이 아니었을 때 아무것도 설정하지 않음의 중요성에 대한 여러 답을 듣고 싶지 않았습니다. 나는 그 주석을 막기 위해 그곳에 선을 긋습니다 :) –