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
[71379] Re:Re:Re:Re:Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요
jinhyun [cjh3926] 3263 읽음    2014-05-29 14:24
기본적인 문제네요.

소스상에서 생성을 하셔서 사용하시겠다는건데.

TAdoQuery 를 __published 가 아닌 private이나 public에 선언하시고

당연히 사용하기전

생성을 해주시고

사용하신이후 해제도 해주셔야겠죠.


흑흑 님이 쓰신 글 :
: 아 그러네요.. 감사합니다..수정했어요..
: 그런데 다른 cpp파일에 저 fnExecSQL 함수 사용하려면
:
: Db->fnExecSQL 이렇게 사용하면 되는거 아닌가요..???
:
: 근데 
: DB-> 이렇게 하면 아래와 같이 에러가 나옵니다....
:
: [C++ Error] LThread.cpp(1): Unable to invoke Code Completion due to errors in source code
: 이렇게 에러가납니다..
:
: 폼위에 만들수 없는 상황이라 팁을 얻어
: TDataModule로 사용하고, 거기에 선언한 함수를 다른 CPP파일에서 사용해야되는데.. 참 어렵네요..ㅠ
:
:
:
:
:
:
: kylix 님이 쓰신 글 :
: : 선언은 TDataModule1의 메소드로 선언하셨는데 함수로 만드셨네요.
: :
: : void __fastcall fnExecSQL(AnsiString sSql)
: : {
: :       ......
: : }
: : ==>
: : void __fastcall TDataModule1::fnExecSQL(AnsiString sSql)
: : {
: :        ........
: : }
: :
: : 흑흑 님이 쓰신 글 :
: : : 빌더 6버전이구요,,
: : :
: : : : #include <ADODB.hpp>
: : : : #include <DB.hpp>이거 두개는 추가가 되어있길래
: : : : #include <DBClient.hpp>이거하나 포함시켰는데요.. 에러내용은 같습니다...
: : : 뭐가문제일까요...ㅠ
: : :
: : : 땅주인 님이 쓰신 글 :
: : : : Header file에 추가하세요..
: : : : XE 시리즈이면 .. 아래처럼..
: : : :
: : : : #include <Data.Win.ADODB.hpp>
: : : :
: : : : 그 이하 버젼이면 ..
: : : :
: : : : #include <ADODB.hpp>
: : : : #include <DB.hpp>
: : : : #include <DBClient.hpp>
: : : :
: : : : 이와 연관된 헤더 파일들을 include 시켜주면 됩니다.
: : : :
: : : :
: : : : 흑흑 님이 쓰신 글 :
: : : : : 말씀해주신대로 추가해서
: : : : :     TADOConnection *ADOConnection1;
: : : : :     TADOQuery *ADOQuery1;
: : : : : 아이콘 올려놓았구요,
: : : : : 그런데 에러가 납니다...
: : : : : [C++ Error] DBmodule.cpp(19): E2451 Undefined symbol 'ADOQuery1'
: : : : : [C++ Error] DBmodule.cpp(27): E2451 Undefined symbol 'ADOQuery1'
: : : : : 이렇게 에러가 나는데요..
: : : : : 왜나는걸까요... 헤더파일에 선언해주었는데..
: : : : :
: : : : :
: : : : :
: : : : :
: : : : : //헤더파일
: : : : :
: : : : : class TDataModule1 : public TDataModule
: : : : : {
: : : : : __published:    // IDE-managed Components
: : : : :     TADOConnection *ADOConnection1;
: : : : :     TADOQuery *ADOQuery1;
: : : : :     TADOQuery *qryMain;
: : : : : private:    // User declarations
: : : : : public:        // User declarations
: : : : :     AnsiString sSql;
: : : : :     __fastcall TDataModule1(TComponent* Owner);
: : : : :     void __fastcall fnExecSQL(AnsiString sSql);
: : : : :     void __fastcall fnSQL(AnsiString sSql);
: : : : :
: : : : : };
: : : : :
: : : : :
: : : : : //소스파일
: : : : :
: : : : : TDataModule1 *DataModule1;
: : : : : //---------------------------------------------------------------------------
: : : : : __fastcall TDataModule1::TDataModule1(TComponent* Owner)
: : : : :     : TDataModule(Owner)
: : : : : {
: : : : : }
: : : : : //---------------------------------------------------------------------------
: : : : : void __fastcall fnExecSQL(AnsiString sSql)
: : : : : {
: : : : :     ADOQuery1->Close();
: : : : :     ADOQuery1->SQL->Clear();
: : : : :     ADOQuery1->SQL->Add(sSql);
: : : : :     ADOQuery1->ExecSQL();
: : : : : }
: : : : : //---------------------------------------------------------------------------
: : : : : void __fastcall fnSQL(AnsiString sSql)
: : : : : {
: : : : :     ADOQuery1->Close();
: : : : :     ADOQuery1->SQL->Clear();
: : : : :     ADOQuery1->SQL->Add(sSql);
: : : : :     ADOQuery1->Open();
: : : : : }
: : : : : //---------------------------------------------------------------------------
: : : : :
: : : : :
: : : : : 입니다..
: : : : :
: : : : :
: : : : : ADOQuery1
: : : : :
: : : : : 땅주인 님이 쓰신 글 :
: : : : : : TDataModule이라는 Unit이 따로 있구요,
: : : : : : 이것은 Form이 없는 형태의 기능을 만들 때 유용합니다. 폼은 없지만,
: : : : : : Timer Event나 TQuery등의 이벤트도 모두 받을 수 있습니다.
: : : : : :
: : : : : : 흑흑 님이 쓰신 글 :
: : : : : : : 폼은 따로 있고, cpp파일 하나 추가해서 DB컨트롤 하고싶은데요.
: : : : : : : 폼이 없으니 TADOQuery 추가해도 cpp파일에서는 사용이 안되더라구요,
: : : : : : : 그래서 따로 TADOQuery *q; 라고 cpp 헤더파일에 선언해도..안되는데
: : : : : : : 어떻게 사용할수있나요?

+ -

관련 글 리스트
71292 TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 흑흑 3433 2014/05/12
71299     Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 땅주인 3346 2014/05/13
71302         Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 흑흑 3568 2014/05/13
71304             Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 땅주인 3595 2014/05/13
71305                 Re:Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 흑흑 3440 2014/05/13
71308                     Re:Re:Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 kylix 3353 2014/05/14
71317                         Re:Re:Re:Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 흑흑 3483 2014/05/15
71316                         Re:Re:Re:Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 흑흑 3312 2014/05/15
71379                             Re:Re:Re:Re:Re:Re:Re:TADOQuery 폼위에 컴포넌트 사용말고 어떻게 사용하나요 jinhyun 3263 2014/05/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.