FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[589] Re:인터베이스->파라독스로 배치무브할 수는 없는지요???
정병선 [hanuleye] 2172 읽음    2002-12-24 10:18
길동이 님이 쓰신 글 :
: 인터베이스에 있는 자료를 파라독스로 배치무브하거나 파라독스Db를 인터베이스로 배치무브를 해야할 문제가 생겼습니다.
: 코딩은 아래와 같습니다.
:
: BatchMove.Source :=IBTable1;// 또는 IBQuery1  <=이 부분에서 에러
: BatchMove.Destination:=Table1;
: BatchMove.Mappings.Add('TNO = TNO');
: BatchMove.Mappings.Add('ACODE = ACODE');
: BatchMove.Mappings.Add('BCODE = BCODE');
: BatchMove.Mappings.Add('SCODE = SCODE');
: BatchMove.Mappings.Add('NAME = NAME');
: BatchMove.Mappings.Add('STAN = STAN');
: BatchMove.Mappings.Add('UNIT = UNIT');
: BatchMove.Mappings.Add('INO = INO');
: BatchMove.Mappings.Add('CSTC11 = CSTC11');
: BatchMove.Mappings.Add('TCSTC12 = TCSTC12');
: BatchMove.Mappings.Add('CSTC21 = CSTC21');
: BatchMove.Mappings.Add('TCSTC22 = TCSTC22');
: BatchMove.Mappings.Add('CSTC31 = CSTC31');
: BatchMove.Mappings.Add('TCSTC32 = TCSTC32');
: BatchMove.Mappings.Add('TCSTCTOT = TCSTCTOT');
: BatchMove.Mode:=BatAppend;
: BatchMove.Execute;
:
: 에러메시지는
: incompatible type; 'TBDEDataSet' and 'TIBTable' 입니다.
:
: 짐작건데 서로 타입이 맞지 않아 내는 에러인것 같은데..........
: 원래 인터베이스는 배치무브가 안되는 것인지, 아니면 다른 비법(?)이 있는 것인지
: 도움을 주시면 고맙겠습니다. 고맙습니다.
:
BATCHMOVE는 BDE만 사용가능합니다.
그냥 쉽게 함수를 하나 만드시는게...
만일 덮어쓰기가 아니라면 패러독스를 BDE로 오픈 한 후에

var
  i: integer;
begin
  Table1.Open;
  with IBTable1 do
  begin
    Open;
    while Not Eof do
    begin
      // 키값이 존재하는지 확인...
      // 필요하면 TLocateOptions에 [loCaseInsensitive, loPartialKey] 삽입
      if Not Table1.Locate('KeyField1;KeyField2', VarArrayOf[FieldByNameKeyField1).Value,
                             FieldByName(KeyField1).Value], []) then
      begin
        Table1.Insert;
        // 필드 수만큼 대입
        for i:= 0 to Table1.FieldCount -1 do
          Table1.FIelds[i].Value:= FieldByName(Table1.Fields[0].Name).Value;
      end;
    end;
  end;
end;

이런 식으로 작성한 후 저장시키면 되겠지여....

+ -

관련 글 리스트
540 인터베이스->파라독스로 배치무브할 수는 없는지요??? 길동이 1863 2002/12/04
969     Re:인터베이스->파라독스로 배치무브할 수는 없는지요??? 정병선 1760 2002/12/24
589     Re:인터베이스->파라독스로 배치무브할 수는 없는지요??? 정병선 2172 2002/12/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.