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

FireBird Q&A
[29] [질문] dbf화일을 인터베이스에 옮기는데..
bebmc [ ] 3021 읽음    1998-05-29 09:15
안녕하세요..
먼저번에 자료양이 많아 고민하던 사람입니다.
어쩔수 없이 델파이가 제공하는 인터베이스라는것을
이용하여 자료를 옮기려고 하는데 레코드 하나만 이동하고
다음과 같은 에러 메세지가 나옵니다.
해결방법좀 알려주세요..
.에러메세지
  General SQL error, arithmetic exception, numeric overflow, or
string truncation Cannot transliterate character between character set.

그리고 워낙 초보라 창피하긴 한데 다음은 코딩내용입니다.
(너무 흉보지는 마셔요..)

function Move(Name: String): String;
var
   Pield, Ilja: String;
   i: Integer;
begin
    Name:=UpperCase(Name);
    if Copy(Name,1,4)='DMMC' then Ilja:='PMILJA'+Init(Name);
    if Copy(Name,1,4)='IBCH' then begin
       if Name='IBCHUGO.DBF' then Ilja:='ILJA';
       if Name='IBCHUDO.DBF' then Ilja:='ILJA';
    end;
    if Copy(Name,1,4)='DM_C' then Ilja:='CREILJA';

    if Form1.Table1.Active then Form1.Table1.Close;
    Form1.Table1.Exclusive:=True;
    Form1.Table1.TableName:=Copy(Name,1,Length(Name)-4);
    Form1.Table1.Open;
    if Form1.Table1.Active then Form1.Table1.EmptyTable;

    Form1.Query1.Close;
    Form1.Query1.SQL.Clear;
    Form1.Query1.SQL.Add(format('SELECT * FROM "%s"',[Name]));
    Form1.Query1.Open;
    repeat
          Form1.Table1.Append;
          Form1.Table1.FieldByName('MST_KEY').AsString:='';
          Form1.Table1.FieldByName('FLAG').AsString:='0';
          Form1.Table1.FieldByName('ILJA').AsDateTime:=
                           Form1.Query1.FieldByName(Ilja).AsDateTime;
          for i:=0 to Form1.Query1.FieldCount-1 do begin
              Pield:=Form1.Query1.Fields[i].DisplayName;
              if Not(Pield=Ilja) then
              Form1.Table1.FieldByName(Pield).Value:=Form1.Query1.FieldByName(Pield).Value;
          end;
          Form1.Table1.Post;
          Form1.Query1.Next;
    until Form1.Query1.EOF;
end;

>Table 은 인터베이스 테이블, Query는 DBF  테이블임.


+ -

관련 글 리스트
29 [질문] dbf화일을 인터베이스에 옮기는데.. bebmc 3021 1998/05/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.