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
[44234] Re:mdb 간단한 소스 부탁 드립니다.
볼랜드 [lighthp] 1301 읽음    2006-03-23 11:46
님이 쓰신 글 :
: mdb로 테이블 생성하고 삭제하고
: 어트리뷰티 추가하고 삭제하고
: 레코드 추가하고 정렬하는 예제 소스 없나요.
: 자료 검색해도 원하는 답이 잘 안찾아 지내요

제가 실전에 사용하는 로직입니다.

도움이 되었으면 합니다.

더불어   http://www.zionis.co.kr  자료실에    실전 예제 프로그램들도 있으니
참고 바랍니다.     

#include <vcl.h>
#pragma hdrstop

#include "Bank.h"
#include "Sdm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormBank *FormBank;
//---------------------------------------------------------------------------
__fastcall TFormBank::TFormBank(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormBank::FormCreate(TObject *Sender)
{
      Position = poScreenCenter;
       
}
//---------------------------------------------------------------------------
void __fastcall TFormBank::sbClearClick(TObject *Sender)
{
    e_no->Clear();
    e_name->Clear();
    e_bank->Clear();
    e_approval->Clear();
    e_tel->Clear();
    e_support->State = cbUnchecked;

}
//---------------------------------------------------------------------------

void __fastcall TFormBank::bbInsertClick(TObject *Sender)
{

    TLocateOptions Opts;
    Opts.Clear();
    Opts << loPartialKey;
      dm->Bank->Connection = dm->ADOConnection;
      dm->Bank->Close();
      dm->Bank->SQL->Clear();
      dm->Bank->SQL->Add("INSERT INTO 계좌 ");
      dm->Bank->SQL->Add(" (계좌번호, 예금주, 승인번호, 은행, 전화번호, 보조계좌)");
      dm->Bank->SQL->Add(" VALUES(:cno, :cname, :capproval, :cbank, :ctel, :csupport)");
      dm->Bank->Parameters->ParamByName("cno")->Value =  e_no->Text;
      dm->Bank->Parameters->ParamByName("cname")->Value =  e_name->Text;
      dm->Bank->Parameters->ParamByName("capproval")->Value =  e_approval->Text;
      dm->Bank->Parameters->ParamByName("cbank")->Value =  e_bank->Text;
      dm->Bank->Parameters->ParamByName("ctel")->Value =  e_tel->Text;
      if  (e_support->State == cbChecked)
         dm->Bank->Parameters->ParamByName("csupport")->Value =  1;
      else
         dm->Bank->Parameters->ParamByName("csupport")->Value =  0;
      dm->Bank->ExecSQL();
      dataBankg();
      dm->Bank->Locate("계좌번호", e_no->Text, Opts);


}
//---------------------------------------------------------------------------
void __fastcall TFormBank::dataBankg()
{
      dm->Bank->Connection = dm->ADOConnection;
      dm->Bank->Close();
      dm->Bank->SQL->Clear();
      dm->Bank->SQL->Add("select * from 계좌 ");
      dm->Bank->SQL->Add(" order by 계좌번호");
      dm->Bank->Open();
      int Count = dm->Items->RecordCount;
      StatusBar1->Panels->Items[0]->Text = " [ Message : ] ";
      StatusBar1->Panels->Items[1]->Text = "구좌 수 : " + IntToStr(Count);
      dm->Bank->First();
}
//---------------------------------------------------------------------------

void __fastcall TFormBank::bbEditClick(TObject *Sender)
{
    TLocateOptions Opts;
    Opts.Clear();
    Opts << loPartialKey;
      dm->Bank->Connection = dm->ADOConnection;
      dm->Bank->Close();
      dm->Bank->SQL->Clear();
      dm->Bank->SQL->Add("UPDATE 계좌 ");
      dm->Bank->SQL->Add(" set 은행=:cbank, 예금주=:cname, 승인번호=:capproval,");
      dm->Bank->SQL->Add(" 전화번호=:ctel, 보조계좌=:csupport");
      dm->Bank->SQL->Add("where (계좌번호 = :cno)");
      dm->Bank->Parameters->ParamByName("cno")->Value =  e_no->Text;
      dm->Bank->Parameters->ParamByName("cname")->Value =  e_name->Text;
      dm->Bank->Parameters->ParamByName("capproval")->Value =  e_approval->Text;
      dm->Bank->Parameters->ParamByName("cbank")->Value =  e_bank->Text;
      dm->Bank->Parameters->ParamByName("ctel")->Value =  e_tel->Text;
      if  (e_support->State == cbChecked)
         dm->Bank->Parameters->ParamByName("csupport")->Value =  1;
      else
         dm->Bank->Parameters->ParamByName("csupport")->Value =  0;
      dm->Bank->ExecSQL();
      dataBankg();
      dm->Bank->Locate("계좌번호", e_no->Text, Opts);


}
//---------------------------------------------------------------------------

void __fastcall TFormBank::bbDeleteClick(TObject *Sender)
{
    TLocateOptions Opts;
    Opts.Clear();
    Opts << loPartialKey;
    AnsiString temp = dm->Bank->FieldByName("계좌번호")->AsString
               +  " "   + dm->Bank->FieldByName("은행")->AsString
               +  " "   + dm->Bank->FieldByName("예금주")->AsString;
    temp = temp + "를 삭제하시겠습니까?";
    if (MessageBox(Handle, temp.c_str(), "삭제 확인", MB_ICONQUESTION | MB_YESNO) == IDYES)
    {
      dm->Bank->Connection = dm->ADOConnection;
      dm->Bank->Close();
      dm->Bank->SQL->Clear();
      dm->Bank->SQL->Add("delete from 계좌");
      dm->Bank->SQL->Add(" where (계좌번호 = :cno)");
      dm->Bank->Parameters->ParamByName("cno")->Value =  e_no->Text;
      dm->Bank->ExecSQL();
      dataBankg();
      dm->Bank->Locate("계좌번호", e_no->Text, Opts);

    }

}
//---------------------------------------------------------------------------

void __fastcall TFormBank::bbCloseClick(TObject *Sender)
{
    Close();       
}
//---------------------------------------------------------------------------

void __fastcall TFormBank::dgBankCellClick(TColumn *Column)
{
  e_no->Text = dm->Bank->FieldByName("계좌번호")->AsString;
  e_name->Text = dm->Bank->FieldByName("예금주")->AsString;
  e_approval->Text = dm->Bank->FieldByName("승인번호")->AsString;
  e_bank->Text = dm->Bank->FieldByName("은행")->AsString;
  e_tel->Text = dm->Bank->FieldByName("전화번호")->AsString;

      if  (1 != dm->Bank->FieldByName("보조계좌")->AsInteger)
         e_support->State = cbUnchecked;
      else
         e_support->State = cbChecked;
}
//---------------------------------------------------------------------------

void __fastcall TFormBank::dgBankDblClick(TObject *Sender)
{
       dgBank->Options = (TDBGridOptions(dgBank->Options) >> dgRowSelect) << dgEditing << dgAlwaysShowEditor;
       dgBank->SetFocus();

}
//---------------------------------------------------------------------------

void __fastcall TFormBank::FormShow(TObject *Sender)
{
     dataBankg();
}
//---------------------------------------------------------------------------

void __fastcall TFormBank::e_noKeyPress(TObject *Sender, char &Key)
{
  if (Key == VK_RETURN)
  {
      keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY,0);
  }

}
.

+ -

관련 글 리스트
41917 mdb 간단한 소스 부탁 드립니다. 830 2005/09/14
44234     Re:mdb 간단한 소스 부탁 드립니다. 볼랜드 1301 2006/03/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.