C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[8137] Re:[질문]ADO DB 사용시 Critical Section
이경문 [gilgil] 1330 읽음    2001-06-12 02:02
물론 DBMS는 Process나 Thread에 무관하게 돌아갈 수 있도록 디자인되어 있습니다.
ADO가 얼마나 안정적인가는 의문이지만 말이죠(Oracle이나 SQL Server정도라면 믿음을 주셔도 상관없습니다).
문제는 어떤 DBMS를 사용하느냐가 아니고
Main Thread가 아닌 다른 Thread에서  VCL자체가 생성되고 사용되고, 삭제되는 것입니다.
확실하지는 않지만 TADOQuery가 thread에 안정적으로 돌아가는지를 먼저 확인해 보셔야 겠네요.

제임스 님이 쓰신 글 :
: {
: TADOQuery *temp_query=new TADOQuery(NULL);
:     temp_query->Connection=ADOConnection1;
:     AnsiString sql="select * from DB_NAME where userid='" + strUSERID
:         + "'";
:     temp_query->SQL->Text=sql;
:     int total_recordcount;
:     try {
:         temp_query->Open();
:     }
:     catch (...) {
:         delete temp_query;
:         return USERID_INCORRECT;
:
:     }
:
:     AnsiString strDataPassword=temp_query->FieldByName("PASSWORD")->AsString;
:     total_recordcount=temp_query->RecordCount;
:
: .....
:
: }
:
: 위의 소스는 쓰레드에서 돌아가는 부분인데요.. 여러 쓰레드가 읽고 쓸때 깨지지 않게 하기 위해서는
:
: 어떻게 처리해야되나요? 지식이 짧아서 잘모르겠네엽.
:
:
: CriticalSection을 둬야될지 Lock을 거는 부분이 따로 있는지.
:
: 아니면 원래 Thread에서 independent한지 알고 싶습니다.
:
:
: 도와주세요.
:
: 감사합니다.
:
:

+ -

관련 글 리스트
8115 [질문]ADO DB 사용시 Critical Section 제임스 1100 2001/06/11
8137     Re:[질문]ADO DB 사용시 Critical Section 이경문 1330 2001/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.