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
[26505] [답변] 특정 조건에 맞는 DB 데이터만 출력하는방법
정성훈.해미 [sage5nor] 1089 읽음    2003-08-01 10:36
아르스님의 답변에 조금만 추가해서 답변 드립니다.

Query1->FieldByName("name")->AsString;
은 쿼리의 내용중에서 현재 선택된 행의 'name'이라는 필드의 내용을 가져오는 것입니다.

요구르트님이 원하는건 어떻게 내가 원하는 행을 찾느냐 하는 것 같은데요..

Query의 Locate()를 이용하면 찾고 싶은 행으로 이동할 수 있습니다.

[순서]
1. ID가 '001'인 학생을 찾는다.
2. 찾은 행의 데이터(ex Name, Tel, Age..)등을 보여준다.

[예] 버튼 btnSearch를 클릭하였을때...아이디가 vID->Text인 사람의 정보를 찾을려면..
// DB필드 구성: ID, Name, Adress, Tel, Age

// 폼의 구성
// Query1:TQuery
// vID:TEdit, vName:TEdit, vAdress:TEdit, vTel:TEdit, vAge:TEdit
// btnSearch:TButton

TLocateOptions Options;
Options = Options << loCaseInsensitive;
//이 옵션은 찾을려는 내용과 똑같은 것만 찾을때: loCaseInsensitive옵션을 씁니다.
//특정 내용을 포함하는 것을 찾을때는: loPartialKey을 쓰면 됩니다.

// 이 함수를 사용하기전에
// Query1이 이미 Open되어 있어야 합니다.
if(Query1->Locate("ID",vID->Text,Options)) //함수형식: Locate("찾을 필드명","찾을 내용",Options)
{
   // DB의 ID필드의 내용이 vID->Text의 내용과 같은것이 있으면
   // 그 행의 이름, 주소, 전화, 나이 필드를 Edit에 표시한다.
   vName->Text    = Query1->FieldByName("Name")->AsString;
   vAdress->Text  = Query1->FieldByName("Adress")->AsString;
   vTel->Text     = Query1->FieldByName("Tel")->AsString;
   vAge->Text     = Query1->FieldByName("Age")->AsString;
}
else
{
   // 찾을려는 ID의 사람이 없을 경우
   // 다음 메시지를 띄운다.
   ShowMessage("아이디가 " + vID->Text + "인 사람은 없습니다.");
}

요구르트 님이 쓰신 글 :
: 질문1.
: 단순히 하나의 폼에서 버튼을 클릭하면 DB에서 가령 Id가 001인 사람의
: 데이터(ex Name, Tel, Age..)등을 각각의 Edit에 출력하는 방법이 뭐죠..?
: 책에는 DBgrid에 출력하는 법뿐이 없어서..ㅜㅜ;
: 간단한 예제 부탁드려요..^^*

+ -

관련 글 리스트
26480 DB 데이터 Edit에 출력하는방법.. 요구르트 660 2003/07/31
26505     [답변] 특정 조건에 맞는 DB 데이터만 출력하는방법 정성훈.해미 1089 2003/08/01
26484     Re:DB 데이터 Edit에 출력하는방법.. 아르스 782 2003/07/31
26488         Re:Re:DB 데이터 Edit에 출력하는방법.. 요구르트 791 2003/07/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.