Q&A

  • Excel-->DB시 숫자는 어떻게..
델가족 여러분 안녕 하세요

엑셀을 읽어 디비화 하는 내용 입니다. 디비는 파라독스를 사용 하려 합니다.

엑셀 필드가 숫자가 아니면 디비필드에 저장이 되는데

엑셀 필드가 숫자 이면 어떻게 해야 하나요?

아래는 소스입니다.

보시고 조언 부탁 드립니다.



with SQLexcel do begin

Close;

SQL.Clear;

SQl.ADD('Insert Into Exceldb');

SQl.ADD('(seqn,name,sura,amnt,amnt2,amnt3)');

//seqn은 타입을 N으로 name : A로 그 뒤는 모드 N으로 디비타입을 설정함.

SQl.ADD('Values');

SQl.ADD('(:P_seqn,:P_name,:P_sura,:P_amnt,:P_amnt2,:P_amnt3)');

prepare;

ADOQuery1.First; //자료의 처음으로 옮기기

while not ADOQuery1.Eof do begin

inc(i);

SQLexcel.ParamByName('p_seqn').asfloat := i;

SQLexcel.ParamByName('p_name').asString :=

ADOQuery1.Fields[0].DisplayText;

SQLexcel.ParamByName('p_sura').asinteger :=

100; //ADOQuery1.Fields[1].DisplayText;

//위의 엑설필드는 숫자 입니다. 에러 댐시로 100으로 입력함

SQLexcel.ParamByName('p_amnt').asfloat :=

100; //ADOQuery1.Fields[3].DisplayText;

//위의 엑설필드는 숫자 입니다. 에러 댐시로 100으로 입력함

SQLexcel.ParamByName('p_amnt2').asfloat :=

100;// ADOQuery1.Fields[5].DisplayText;

//위의 엑설필드는 숫자 입니다. 에러 댐시로 100으로 입력함

SQLexcel.ParamByName('p_amnt3').asfloat :=

100;//ADOQuery1.Fields[5].DisplayText;

//위의 엑설필드는 숫자 입니다. 에러 댐시로 100으로 입력함

SQLexcel.Execsql;

ADOQuery1.Next;

end;

end;

showmessage('Excel파일을 디비로 전환을 완료 했습니다');



이렇게 했습니다.

0  COMMENTS