2014-04-15 4 views
0

나는 데이터베이스에서 여러 레코드를 가져 와서 목록에 저장하고 있습니다. 속성 클래스를 만든 다음 속성에서 변수로 검색 할 데이터를 할당 한 다음 함수 호출을 만든 클라이언트에게 모든 값 컬렉션을 반환하려고 시도하지만 작동하지 않습니다. 왜 ? 올바른지 확인하십시오.상품 목록으로 돌아 가기

코드 :

public Properties FetchCoordinates(String FetchParam) 
    { 
     String[] parts = FetchParam.Split(','); 
     sqlCom.CommandText = "FetchCoordinates"; 
     sqlCom.CommandType = CommandType.StoredProcedure; 

     sqlCom.Parameters.Add("@IMEI", SqlDbType.VarChar).Value = parts[0].ToString(); 
     sqlCom.Parameters.Add("@DateTimeFrom", SqlDbType.VarChar).Value = Convert.ToDateTime(parts[1].ToString()); 
     sqlCom.Parameters.Add("@DateTimeTo", SqlDbType.VarChar).Value = Convert.ToDateTime(parts[2].ToString()); 
     SqlParameter sqlParam = new SqlParameter("@result", SqlDbType.Int); 
     sqlCom.Parameters.Add(sqlParam); 
     sqlCom.Parameters["@result"].Direction = ParameterDirection.Output; 
     List<Properties> props = new List<Properties>(); 
     Properties p; 

     try 
     { 
      sqlCon.Open(); 
      using (SqlDataReader reader = sqlCom.ExecuteReader()) 
{ 
      while (reader.Read()) 
      { 
       p = new Properties() 
       { 
        Longitude = reader["Longitude"].ToString(), 
        Latitude = reader["Latitude"].ToString() 
       }; 
       props.Add(p); 
       return p; 
      } 

} 



     } 



     catch (Exception ex) 
     { 



     } 

     finally 
     { 
      sqlCon.Close(); 
     } 

    } 

} 

Properties.cs

public class Properties 
{ 
    public Properties() 
    { 
    } 

    public string Longitude { get; set; } 
    public string Latitude { get; set; } 

} 
+0

함수가 하나의'Properties' 객체를 반환하려고합니다. 'List ' – Caleb

답변

4

변경 메소드 서명;

public List<Properties> FetchCoordinates(String FetchParam) 

을 반환하는 대신 단일 인스턴스 인 경우 List Props를 반환하십시오.

while (reader.Read()) 
      { 
       p = new Properties() 
       { 
        Longitude = reader["Longitude"].ToString(), 
        Latitude = reader["Latitude"].ToString() 
       }; 
       props.Add(p); 

      } 

return props; 
+0

을 반환해야합니다. 예외가 발생하면 일부 문자열 메시지가 클라이언트에 전달되어야하지만 어떻게해야합니까? 그것은 단지 – user3518032

+0

목록을 반환하고 얼마나 많은 시간을 돌려야한다 소품, 나는 하나의 루프를 마침내 후 하나의 함수는 코드 경로를 반환하지 않는 오류를 던지고 있었기 때문에 마지막으로 블록을 반환했습니다. – user3518032

관련 문제