|
void __fastcall TForm2::Button1Click(TObject *Sender)
{
// 럽투유님의 ADOConnect 객체의 접속여부 확인
if(!ADOConnectionConfig->Connected){
return NULL;
}
// 쿼리문 작성
ADOQuery1->SQL->Text = WideString("Select * from output_data where id > 0 and indate ='"+ textbox->text +"');
// 접속 실행
ADOQuery1->Active = true;
// 쿼리 결과가 있는지 확인
if(ADOQuery1->RecordCount > 0){
// 가장 처음의 레코드로 이동
ADOQuery1->First();
// 원하는 곳에 결과 리턴
textboxresult->text = ADOQuery1->FieldByName("indate")->AsString;
}
else{
// 검색 결과가 없으면 에러 메세지 표현
MessageDlg(FieldName + " Failed.", mtError,TMsgDlgButtons()<<mbYes,0);
}
// 접속 해제
ADOQueryConfig->Active = false;
}
종합하면 이런 소스가 되겠군요. 물론 테스트 안했습니다. :D
쿼리하는 순서를 보자면
SQL접속->쿼리문작성->쿼리문날리기->결과에서 필요한 것 쓰기->접속해제->끝!
작성하시 쿼리문은 SQLQuery1->SQL->Text에 넣으심 됩니다.
반대로 DB에 값을 쓰려면
ADOQueryConfig->Edit();
ADOQueryConfig->FieldByName("indate")->AsString = "잠온다";
ADOQueryConfig->Post();
이런식으로 하시면 됩니다.
물론 이 부분은 결과가 있을때 실행하셔야 하죠.
에디트상태로 전환->데이터 고치고->적용!
럽투유 님이 쓰신 글 :
: 황당하시더라래도 이런놈도 있구나 라고 가엽게 여겨주세요...^^
:
: 텍스트박스( name 값 = textbox) 와 버튼 (Button1) 이 있어서
:
: 이 버튼을 눌렀을때 텍스트박스에 입력한 값을 쿼리문에 대입시켜야 하는건데요.
:
: 님께서 샘플로 주신 소스가 완전히 이해가 가질 않아 다시 질문 드립니다.
: (물론 기초부터 하고 싶지만 시일이 급하다보니..이해해 주십시요)
:
: void __fastcall TForm2::Button1Click(TObject *Sender)
: {
:
: ADOQuery1->FieldByName("indate")->AsString;
:
: }
:
: 위처럼 버튼을 클릭하면 시행을 하는걸로 하고 싶은데요..
: 님의 소스는 먼가 다른 포스가 느껴져서요...ㅡㅡ;
:
: 어디에 넣고 쓰는건지.....ㅎㅎ...죄송
:
: 그리고 ADOQuery1 의 SQL에
:
: Select * from output_data where id > 0 and indate ='"+ textbox +"'
:
: 라고 입력해 놓았는데 맞는건가요??
:
: 아...갑갑해요....
|