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
[44451] Re:레코드셋을 받아오려는데, 에러가...
박지훈.임프 [cbuilder] 1311 읽음    2006-04-12 04:59
TADODataSet *rs 객체가 생성되지 않았으므로 rs의 멤버를 액세스하려고 하면 당연히 에러가 납니다.
일부러 코딩으로 다 해보려고 하신 건지는 모르겠는데, 보통은 ADOConnection과 ADODataSet 컴포넌트는 폼에 놓고
쓰는데요.

굳이 동적으로 생성해서 쓰고 싶다면, TADODataSet *rs = new TADODataSet(NULL); 해서 객체를 생성하신 후,
rs->Connection = con; 해서 ADOConnection 객체와 연결을 하고요.
(이 과정은 보통 이렇게 코딩으로 하지 않고 폼에서 합니다. 특별한 이유가 없다면 굳이 코딩으로 할 필요가 없는데...)

셀렉트 쿼리를 날리려면 TADODataSet::CommandText에 쿼리문을 넣고 Open() 하면 됩니다.

그럼...


헤이즐넛 님이 쓰신 글 :
: C++ 빌더로 access db를 다루는 프로그램을 짜 보려고 하는데,
: 처음이다 보니 Recordset을 가져 오는데서부터 에러가 나는군요.
:
: 아래 소스에서 레코드 셋을 rs에 받아오려는 구문에서 에러가 납니다.
:
: 조언을 부탁드립니다.
:
: ==================================================
:
: {
:     int RecCount;
:     String sql;
:
:     TADOConnection *con;
:     TADODataSet *rs;
:
:     con = new TADOConnection(this);
:
:     try {
:         // DB 지정
:         con->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Mode=ReadWrite|Share Deny None;Data Source=db1.mdb;Persist Security Info=False";
:         con->LoginPrompt = false;
:         con->Open();
:
:         // 데이터 10개 저장 : test 테이블의 rnd 필드에 정수 저장
:         for (int i=0;i<10;i++) {
:             con->Execute(WideString("insert into test(rnd) values ("+IntToStr(i)+")"),RecCount, TExecuteOptions()<<eoExecuteNoRecords);
:         }
:
:         // 레코드셋 가져오기
:        // 바로 다음줄에서 에러!!
:         rs->Recordset = con->Execute(WideString("select * from test"),cmdText,TExecuteOptions());
:
:         ShowMessage(IntToStr(rs->RecordCount)+" 데이타 갯수");
:         rs->Close();
:
:         if (con->State==(TObjectStates()<<stOpen)) {
:             ShowMessage("Close connection");
:             con->Close();
:         }
:     }
:     __finally {
:         delete con;
:     }
: }

+ -

관련 글 리스트
44417 레코드셋을 받아오려는데, 에러가... 헤이즐넛 949 2006/04/07
44451     Re:레코드셋을 받아오려는데, 에러가... 박지훈.임프 1311 2006/04/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.