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
[74294] Re:TADOQuery 이용해서 select 할때...
kylix [] 5875 읽음    2017-03-28 16:23
아래구문을 보면 *35|* 가아니라 *35*| 네요...

:         strName = strName.sprintf(L"%s|", L"*35*");
ADO면 * 대신 %를써보세요.

bbunge 님이 쓰신 글 :
: 안녕하세요~!
:
: TADOQuery를 이용해서 다음과 같은 쿼리를 실행하려고 합니다. 실제 디비에서 조회를 해보면 데이터가 있는데 프로그램 상에서는 데이터 조회를 하지 못하네요... 혹시 이런경험 있으신 분 계신가요?
:
: DB는 Access를 사용하고, Access 상에서는 아래 쿼리가 동작합니다.
:
: SELECT TEXT_INDEX, TEXT_ITEM
:   FROM T_SCREEN_TEXT
: WHERE SC_TYPE = 'C' AND SC_NAME LIKE '*35|*' ORDER BY TEXT_INDEX ASC;
:
: LIKE 구문에 *35|* 대신에 35| 가 들어가면 일부데이터 조회가 됩니다... 파라메터에 * 이 들어가면 안되는거 같은데...
: 이유를 모르겠네요..;;
:
:
: void __fastcall TFormMain::m_BtnTestClick(TObject *Sender)
: {
: 	/* SQL Query */
: 	UnicodeString strSql;
:         strSql = "SELECT TEXT_INDEX, TEXT_ITEM FROM T_SCREEN_TEXT WHERE SC_TYPE = :scType AND SC_NAME LIKE :scName ORDER BY TEXT_INDEX ASC;";
: 
:         UnicodeString strType, strName;
:         strType = L"C";
:         strName = strName.sprintf(L"%s|", L"*35*");
: 
: 	try {
:                 /* Create the query. */
: 		TADOQuery* pAdoQuery = new TADOQuery(this);
: 		pAdoQuery->Connection = m_ADOConn;
: 		//pAdoQuery->SQL->Text = strSql;
:                 pAdoQuery->SQL->Add(strSql);
:                 pAdoQuery->Parameters->ParamByName("scType")->Value = strType;
:                 pAdoQuery->Parameters->ParamByName("scName")->Value = strName;
: 
: 		/* Set the query to Prepared--it will improve performance. */
: 		pAdoQuery->Prepared = true;
: 
:                 try {
:                         pAdoQuery->Active = true;
:                 }
:                 catch (EADOError& e) {
:                         MessageDlg("Error while connecting", mtError,
:                         	TMsgDlgButtons() << mbOK, 0);
:                         return;
:                 }
: 
:         	m_AdvSgScreenText->RowCount = pAdoQuery->RecordCount + 1;
:             	for(int i=0; iRecordCount; i++)
:             	{
:                     	m_AdvSgScreenText->Cells[0][i+1] = pAdoQuery->FieldByName("TEXT_INDEX")->AsInteger;
:                     	m_AdvSgScreenText->Cells[1][i+1] = pAdoQuery->FieldByName("TEXT_ITEM")->AsString;
:                     	m_AdvSgScreenText->Cells[2][i+1] = pAdoQuery->FieldByName("TEXT_ITEM")->AsString;
:                     	m_AdvSgScreenText->Cells[4][i+1] = L"";
: 
:                     	pAdoQuery->Next();
:             	}
: 
: 		pAdoQuery->Active = false;
:         	pAdoQuery->Free();
:         }
:         catch (EADOError *e) {
:         	OutputDebugString(e->Message.c_str());
:         }
: 
:         m_AdvSgScreenText->AutoSizeColumns(true, 10);
: }
: //---------------------------------------------------------------------------
: 
: 

:

+ -

관련 글 리스트
74293 TADOQuery 이용해서 select 할때... bbunge 5483 2017/03/28
74294     Re:TADOQuery 이용해서 select 할때... kylix 5875 2017/03/28
74295         Re:Re:TADOQuery 이용해서 select 할때... bbunge 5344 2017/03/28
74296             Re:Re:Re:TADOQuery 이용해서 select 할때... kylix 5515 2017/03/28
74297                 Re:Re:Re:Re:TADOQuery 이용해서 select 할때... bbunge 5762 2017/03/28
(링크)     Delphi Q/A > Re:TADOQuery 이용해서 select 할때...
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.