2011-03-21 2 views
1

텍스트 파일에서 읽고 텍스트 파일에 쓸 수있는 간단한 응용 프로그램을 만들려고합니다. 나는 아래에 보이는 주 양식을 가지고 있는데, 나는 또한 아래에 보이는 보조 양식을 가지고있다; 고객, 계좌 및 거래를위한 getter 및 setter 클래스도 있습니다. 내가하고 싶은 것은 보유한 데이터를 기반으로 고객을 검색하는 것이지만 대부분은 계좌 번호가 있습니다. 어떻게하면 모든 정보가 포함 된 올바른 고객을 돌려 줄 수 있을까요? 이것을 연결하면 검색을 새로운 계정을 삽입하기위한 포인트로 사용하는 것이 좋습니다.검색 방법 Complex Arraylist & Insert 주어진 지점에서

아래는 고객의 개인 정보를 수집하고 파일에서 정보를 가져 오는 주요 양식입니다. 이다

계정을 추가하는 위의 코드에서
//create account if all ok 
    if (allInputOK) 
    { 
     //create Account 
     Account temp = new Account(tempAccSortCode, tempAccNumber, tempAccNickName, tempAccDate, tempAccCurBal, tempAccOverDraft, tempNumTrans); 

     //add to array 
     Form1.accDetails.Add(temp); 

     //finish up 
     MessageBox.Show("Success Account added "); 
     resetForm(); 
    } 
} 

    foreach (Customer c in bankDetails) 
    { 
     lstOutput.Items.Add(" "); 
     lstOutput.Items.Add(c.getCustomerNumber() + " " + c.getCustomerTitle() + " " + c.getFirstName() 
          + " " + c.getInitials() + " " + c.getSurname() + " " + c.getDateOfBirth() 
          + " " + c.getHouseNameNumber() + " " + c.getStreetName() + " " + c.getArea() 
          + " " + c.getCityTown() + " " + c.getCounty() + " " + c.getPostcode() 
          + " " + c.getPassword() + " " + c.getNumberAccounts()); 
     foreach (Account a in c.Accounts) 
     { 
      lstOutput.Items.Add("\t" + a.getAccSort() + " " + a.getAccNumber() + " " + a.getAccNick() + " " + a.getAccDate() 
           + " " + a.getAccCurBal() + " " + a.getAccOverDraft() + " " + a.getAccNumTrans()); 

      foreach (Transaction t in a.Transactions) 
      { 
       lstOutput.Items.Add("\t \t" + t.getDate() + " " + t.getType() + " " + t.getDescription() + " " + t.getAmount() 
            + " " + t.getBalAfter()); 
      } 
     } 
    } 

클래스 계정에 추가하고 내가 생각하는 ArrayList의 고객을 저장하기 위해 기본 목록을 사용하여 기본 폼 프로그램의 나머지 부분과 잘못 정보 및 계정/트랜잭션이 있습니다.

EDIT : 위 코드는 새 계정 추가를 보여줍니다. 그러나 고객 배열을 검색하여 올바른 위치에 삽입하여 정확한 고객을 찾아야합니다. 코드의 두 번째 발췌 문장은 각 고객에게 연결된 기본 목록이있는 arraylist를 보여줍니다.

+0

당신은 실제로 너무 많은 코드를 게시했을 것 같습니다. 어떤 라인을 가장 염려합니까? 별도의 코드 블록에 게시 할 수 있습니까? – Stuart

+0

지금까지 어떤 시도를 했습니까? StackOverflow에 게시 할 때 다른 사람들이 코드를 작성하도록 요청하는 대신 직접 문제를 해결하려고 시도하면 일반적으로 질문을 더 잘 받게됩니다. –

답변

0

어디서부터?

일반적으로 개체를 쿼리 할 때 Linq 개체를 사용할 수 있습니다.

또한 텍스트 파일을 사용하여 항목을 추적하지 않는 것이 좋습니다. 그들은 처음 엔 괜찮 았으나 다루기 힘들고 느리게 성장합니다. 무엇보다 앱을 저장하기 전에 충돌이 발생하면 어떻게해야합니까? SQLite와 같은 "light database"를 살펴보십시오 (예, 그것은 하나의 'L'입니다).