2012-01-22 4 views
0

아래 코멘트가 필요합니다. 아래의 방법으로 시도했는데 첫 번째 메인 댓글과 모든 하위 댓글 만 검색 할 수 있었지만 두 번째 기본 댓글에서는로드 할 수 없었습니다. I가 사용되는 로직은, 상기 코드에서 acc_id 댓글 및 하위 댓글

  MyConnection.Open(); 
      OdbcCommand cmd = new OdbcCommand("Select * from maincomments", MyConnection); 
      OdbcDataReader dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      { 
       string abc1 = dr[0].ToString(); 
       string abc2 = dr[1].ToString(); 
       string abc3 = dr[2].ToString(); 
       string abc4 = dr[3].ToString(); 
       string abc5 = dr[4].ToString(); 
       string abc6 = dr[5].ToString(); 
       string abc7 = dr[6].ToString(); 

       maincomm.Controls.Add(new LiteralControl(abc2 + "<br />" + abc5 + "<br />")); 
       cmd = new OdbcCommand("Select * from subcomments where acc_id=?", MyConnection); 
       cmd.Parameters.Add("@email", OdbcType.BigInt, 20).Value = abc1; 
       dr = cmd.ExecuteReader(); 
       while (dr.Read()) 
       { 
        string abcd1 = dr[0].ToString(); 
        string abcd2 = dr[1].ToString(); 
        string abcd3 = dr[2].ToString(); 
        string abcd4 = dr[3].ToString(); 
        string abcd5 = dr[4].ToString(); 
        string abcd6 = dr[5].ToString(); 
        string abcd7 = dr[6].ToString(); 
        string abcd8 = dr[7].ToString(); 
        maincomm.Controls.Add(new LiteralControl(abcd3 + "<br />" + abcd6 + "<br />")); 
       } 
      } 
      MyConnection.Close(); 

maincomments은 일련 번호이다.

내 코드에 어떤 문제가 있습니까?

답변

2

dr을 사용하여 주석을 얻는 동안 내부 루프에서 하위 주석을 가져 오기 위해 DataReader로 덮어 씁니다.

당신은보기의 기능적인 관점에서 잘못된 모습의 두 (예를 들어, drCommentsdrSubComments)

에 대해 서로 다른 변수를 사용해야합니다. 제 의견으로는 아직 더 많은 개선이 이루어져야합니다. 코드를 수정 한 후 CodeReview에이 코드를 게시하여 리팩토링하는 방법에 대한 좋은 조언을 얻으시기 바랍니다.

+0

감사합니다. 이 일 :) –