inflearn logo
강의

Course

Instructor

C# ADO.NET Database Programming

App.config (Register database information in the configuration file)

안녕하세요 connection부분 질문드립니다.

280

boxman

32 asked

0

instance가 ConnectionString를 가져다 줬다는게 이해가 안가서 문의드립니다.

뒤쪽에 Open으로 뜨는데 connection을 호출하지도 않는데 왜 Open이 되는지 이해가 가지않습니다.

instance를 가져오면 자동으로 connection이 Open되는 것인가요?

디버그해봐도 connection이 언제 이루어 지는지 알 수가 없습니다. IDbConnection Connection가 언제 실행되는 건지알 수 있을까요?

MakeConnection()이 있을때는 직관적이었는데요.

혼자 생각하기에는 MakeConnection()이 있을 때는 프로그램시작하자마자 Open이되는거고 MakeConnection()을 지우고 그냥 getter setter만 있을 때는 

처음에는 Open 상태가 아니고 Connection이 필요할 때만 즉 Form1에서 호출할 때 검사해서 Open이 아니면 체크후 Open해주는 것인가요??

그래서 버튼 클릭해서 Connection에 접근해 Open을 했고 그이후에 MakeConnection에서 다시 Open()해 중복되기 때문에 해당 내용을 지운건가요~?

답변부탁드립니다!

ADO.NET

Answer 2

1

kjlee

디자인 패턴에서 싱글턴 패턴을 이해하면 모든 것이 해결될 것 같습니다. 흔히 우리가 new NewClass()로 인스턴스를 만드는데 이것은 생성자를 호출하고 있는 것입니다. 싱글턴 모델은 생성자가 private로 선언되었기 때문에 외부에서는 호출할 수 없습니다. 다만 static으로 정의된 instance()를 호출하면 인스턴스를 반환하는데 이것은 내부에서 생성자를 호출하고 생성된 인스턴스를 돌려주기 때문이죠. 인스턴스가 생성될 때 connection이 없으면 그 때 connection을 만들어서 open()하고 이를 돌려주고 있습니다. 인터넷 등에서 싱글턴 패턴을 좀더 찾아보시면 이해가 될 것으로 생각됩니다.

0

boxman

싱글톤 패턴이 객체 하나를 static으로 생성해 이것 하나로 프로그램전체에서 공유해 사용하는 것으로 생각하고 있습니다.

다만 제가 궁금한점은 인스턴스가 생성될 때 connection이 없으면 생성한다고 해주셔서 디버그를 돌려보았습니다. 그런데 인스턴스를 생성할때에 Close상태이고 버튼클릭때 state를 검사하지않으면 연결을 확인할 수 없는 상태여서 혹시 버튼을 클릭해서 Form1폼에서 버튼을 클릭해instance.Connection.state을 해서 접근할 때에 Open이 되는 것인지 궁금해서 문의드립니다. 즉 프로그램 실행해서 인스턴스 생성시에 Open되는 것이 아니라 나중에 Connection에 접근할 때 Open이 되는 것이 아닌지 궁금해서 문의드립니다.

C#.NET 0.5년차~3년차(파트1) 후속강의 질문

2

86

2

9강 18분즈음 속성값에 Label1Text가 안뜹니다.

0

70

2

솔루션 탐색기 WindowsFormApp 더블클릭 후 어셈블리명 변경안됨

0

62

1

이렇게 메서드명 띄워서 나오는 경우는 뭐죠?

0

100

3

16:10 여기까지 쭉 작성했을 때 에러 뜬다고 마지막으로 성공한 빌드를 실행하시겠습니까? 라고 뜨는데

0

72

1

자료 다운로드 파일에 C# 파일들 있는거 같은데

0

71

1

이벤트가 늦게 왔을때 문제 발생

0

75

1

교수님 4강진행중인데 교수님과 같은 디자인창이 안뜹니다

0

349

2

Connection 오류

0

270

1

3:04 클래스생성

0

244

1

22:35 질문

0

263

1

데이터베이스 가져오기 관련해서 질문드려요.

0

206

1

app.config 연결문자열 암호화 방법

0

507

1

c# 소스 및 강의자료 요청

1

334

2

소스 및 자료 요청

1

511

9