는, 내가 선언 :왜 Odbc 리더 인스턴스가 필요하지만 Odbc 연결이 필요합니까? 클래스 수준에
System::Data::Odbc::OdbcConnection conn;
System::Data::Odbc::OdbcDataReader datareader; //doesnt work
System::Data::Odbc::OdbcDataReader^ datareader; //works
그러나, dataReader
는 OdbcDataReader^
로 선언되어야한다. 이유는 모르겠다.
연결 및 DataReader를 클래스가 사용하는 데이터베이스 기술에 따라,은 .NET Framework에 쌍으로이 간다 여기에 귀하의 질문에 대한 대답하지만, 경우
많은 메소드가이를 공유하고 다른 클래스에 매개 변수로 전달되기 때문에 직접 연결을 인스턴스화해야합니다. – Petr
Petr, 연결을 공유해야한다면 아마도 참조 (관리 된 포인터)를 원할 것입니다. –
이 답변의 두 번째 항목은 도움이됩니다. 첫 번째 항목은 실제로 부정확합니다. 구문 상 나타나는 경우에도 인스턴스는 스택에 생성되지 않고 관리되는 힙에 남아 있습니다. 범위가 끝나면 결정적으로 처리된다는 것입니다. – tragomaskhalos