Q&A

  • DBGrid에서 DB로 저장할때 소스 코딩 법좀 알려 주세요...^^
안녕하십니까.

so : windows xp
개발 툴 : 델파이 7
Server : 오라클

먼저 엑셀파일을 DBGrid까지 불러오기는 잘 되는대요...
DBGrid에 불러온 데이터를 DB에 저장을 해야하는대요...
어떡해 코딩을 해야 할지 어렵내요....ㅡㅡ;

<DBGrid에 불러온 내용>
일자 ㅣ  시간 ㅣ  성명 ㅣ성병ㅣ....
1123ㅣ 1112ㅣ홍길동ㅣ  m ㅣ....
※이하 Row는 생략

위 형식의 내용을 SVC에 실어서 DB로 날려야 하는대
고수입들 조언 부탁드립니다.

/////////////////////////////////////////////////////////////////////////////////////////
for li_current_row := 1 to ta_master.Row do
    begin
        SVC.SetItemString(li_current_row-1,'in_pag_seq',
                          ta_master.getitem( li_current_row, 'pag_seq'));
        SVC.SetItemString(li_current_row-1,'in_ed_card_no',
                          ta_master.getitem( li_current_row, 'ed_card_no'));
        SVC.SetItemString(li_current_row-1,'in_tra_st_ymd',
                          ta_master.getitem( li_current_row, 'tra_st_ymd'));
        SVC.SetItemString(li_current_row-1,'in_tra_en_ymd',
                          ta_master.getitem( li_current_row, 'tra_en_ymd'));
        SVC.SetItemString(li_current_row-1,'in_ed_gb',
                          ta_master.getitem( li_current_row, 'ed_gb'));
        SVC.SetItemString(li_current_row-1,'in_ek_nm',
                          ta_master.getitem( li_current_row, 'ek_nm'));
        SVC.SetItemString(li_current_row-1,'in_birth_ymd',
                          ta_master.getitem( li_current_row, 'birth_ymd'));
        SVC.SetItemString(li_current_row-1,'in_jumin_no2',
                          ta_master.getitem( li_current_row, 'jumin_no2'));
        SVC.SetItemString(li_current_row-1,'in_nkor_visit_doc_no',
                          ta_master.getitem( li_current_row, 'nkor_visit_doc_no'));
        SVC.SetItemString(li_current_row-1,'in_sex',
                          ta_master.getitem( li_current_row, 'sex'));
        SVC.SetItemString(li_current_row-1,'in_nat_cd',
                          ta_master.getitem( li_current_row, 'nat_cd'));
        SVC.SetItemString(li_current_row-1,'in_pass_no',
                          ta_master.getitem( li_current_row, 'pass_no'));
        SVC.SetItemString(li_current_row-1,'in_in_addr',
                          ta_master.getitem( li_current_row, 'in_addr'));
        SVC.SetItemString(li_current_row-1,'in_tel_no',
                          ta_master.getitem( li_current_row, 'tel_no'));
//        SVC.SetItemString(li_current_row-1,'in_job_cd',
//                          ta_master.getitem( li_current_row, 'job_cd'));
        SVC.SetItemString(li_current_row-1,'in_job',
                          ta_master.getitem( li_current_row, 'job'));
        SVC.SetItemString(li_current_row-1,'in_nkor_visit_perm_yn',
                          ta_master.getitem( li_current_row, 'nkor_visit_perm_yn'));
//        SVC.SetItemString(li_current_row-1,'in_tra_purp_cd',
//                          ta_master.getitem( li_current_row, 'tra_purp_cd'));
        SVC.SetItemString(li_current_row-1,'in_tra_purp',
                          ta_master.getitem( li_current_row, 'tra_purp'));
        SVC.SetItemString(li_current_row-1,'in_dep_txt',
                          ta_master.getitem( li_current_row, 'dep_txt'));
        SVC.SetItemString(li_current_row-1,'in_purp_txt',
                          ta_master.getitem( li_current_row, 'purp_txt'));
        SVC.SetItemString(li_current_row-1,'in_gb_cd',
                          ta_master.getitem( li_current_row, 'gb_cd'));
    end;
    SVC.SetItemLong(0,'in_rows', ta_master.Row);

    SVC.SvcCall('AB220002',True,640000);
참고로 위 소스는 tsgrid에 서 TextArray에 연결해서 DB에 저장하는 대요....
DGGrid를 위 소스와 같이 코딩을 할 수 없나요....

고수님들 꼭 도와주세요~~~~
그럼 많은 조언 부탁 드립니다.....^^
2  COMMENTS
  • Profile
    phono 2009.12.02 09:12
    DataControl과 연결된 경우에는 해당 컨트롤을 움직이는 경우 그것과 연결된 데이타 셋도 같이 움직이므로..

    데이타 셋을 직접 핸들링 하면 됩니다.
  • Profile
    신감족 2010.05.06 22:14
    SVC에 실어서 움직이신다는 것이 무슨 뜻인진 모르겠으나 DBGrid에서는 DBNavigator콤포넌트와 함께 쓰시면 자유로운 수정과 편집이 가능해 지십니다. 그리고 데이터베이스도 실시간으로 업뎃이 되구요... 지금쓰시는 DB가 아닌 다른 DB로 번역해서 저장하신다는 뜻인가요? 그게 아니시라면... 위와같이 하시면 됩니다.