Q&A

  • 파일을 하나 읽어서 테이블에 넣을려고 하는데요..
DB프로그램은 안해봐서 잘몰라서 질문합니다...
서버에 있는 파일을 읽어서 테이블에 넣어서 프로그래밍을 할려고 하는데요
어떻게 하는지를 잘 모르겠네요...

파일내용..
년도월일 | 시간 | 사람 | 나이 @ 이런것들이 여러개 붙어서 나와있거든요..
이렇게요 ==>
20060609|113000|me|24@20060609|123000|me|24@ //한줄씩 띄워져있지않고 맘대로 있는듯..

테이블에 짤라서 년도, 날짜, 시간, 사람, 나이 이런씩으로 넣고 싶은데..어떻게 해야하나요??
1  COMMENTS
  • Profile
    채태숙 2006.06.13 20:10
    음.. 답변이 될지 모르겠지만요

    제가 코딩했던 부분을 올릴께요..

    비슷한 내용의 코딩이라서 보시면 답이 나올듯....

    안되시면 다시 메세지 주세요..



    <!--CodeS-->

    procedure TfrmC0108.SpeedButton2Click(Sender: TObject);
    var m_Char, m_String : String;
        i : integer;
    begin

       if cobSection.Text = '' then
       begin
          ShowMessage('구분자를 입력하여주세요!');    // 구분자를 사용자가 지정할수 있거든요..
          Exit;
       end;

       m_Char := cobSection.Text;
       if cobSection.Text = 'Tab' then m_Char := #9;

       Try
          stgData.RowCount := memText.Lines.Count+1;

          for i := 1 to memText.Lines.Count do    // 각 데이터마다 레코드로 나뉘어져 있는데 님 코딩에서는 '@' 문자의 카운트를 구해서 For 문을 돌리는 방법도 있겠네요.
          begin

             m_String := memText.Lines[i-1];

             with stgData do   // 스트링그리드에 먼저 보여주고 나서 해당 내용을 디비에 저장하는 겁니다.
             begin                    // 님의 경우에는 StringList에 저장해서 디비에 저장하는 방법도 있겠네요.

                Cells[1,i] := IntToStr(i); //'순번';
                Cells[2,i] := Copy(m_String,1, Pos(m_Char, m_String) - 1 );        //가입자
                              Delete(m_String, 1, Pos(m_Char, m_String) );

                Cells[3,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'상품클래스';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
                Cells[4,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'상품구분';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
                Cells[5,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'상품코드';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
                Cells[6,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'순번';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
                Cells[7,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'특수/할인코드';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
                Cells[8,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'시작일자(월)';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
                Cells[9,i]  := Copy(m_String,1, Pos(m_Char, m_String) - 1 );//'/종료일자(월)';
                               Delete(m_String, 1, Pos(m_Char, m_String) );
             end;

          end;
           lblCount_2.Caption := lblCount.Caption;
       except
       end;

    end;

    <!--CodeE-->