2017-10-21 3 views
0

저는 Azure SQL 데이터베이스를 사용하여 간단한 C# 응용 프로그램을 작성했습니다. 먼저 내 앱이 이름을 저장 한 다음 모든 사람 표시를 클릭하면 저장된 모든 이름을 데이터베이스에서 검색해야합니다. 어떤 이유로 든 내 코드가 데이터베이스에서 이름을 검색하지 못하기 때문에 모든 사람을 표시 할 때 반응하지 않습니다. 문제를 해결할 수 있습니까? 내 나머지 컨트롤러 클래스에서(C#) Azure SQL 데이터베이스에서 데이터를 가져 오는 문제


:

public List<Person> getPersons() 
     { 
      List<Person> persons = new List<Person>(); 
      String sql = "SELECT * from users"; 

      try 
      { 
       SqlCommand command = new SqlCommand(sql, connection); 
       SqlDataReader reader = command.ExecuteReader(); 

       while (reader.Read()) 
       { 
        persons.Add(new Person(reader.GetInt32(0), reader.GetString(1))); 
       } 
      } 

      catch(Exception e) 
      { 
       System.Diagnostics.Debug.WriteLine("Error in getPersons(): " + e.Message); 
      } 

      return persons; 
     } 
+1

모든 사람에게 표시 버튼을 클릭하여 코드를 디버깅 했습니까? 어떤 오류가 있습니까? 'getPersons' 메소드 코드가 잘 작동하는지 확인 했습니까? –

답변

-1

먼저 이름이 실제로 데이터베이스에 저장지고 있는지 확인하십시오.

컨트롤러가 예외를 throw하지 않고 성공적으로 실행 중인지 두 번째 검사. try catch에서 예외를 기록하고 여전히 빈 사람 목록을 반환합니다. 따라서 클라이언트 쪽에서 어떤 오류가 발생했는지 알 수 없습니다.

세 번째는 Azure 서비스가 Azure SQL 인스턴스에 액세스 할 수 있도록 설정했는지 확인하는 것입니다. 이것은 Azure 포털을 통해 수행 할 수 있습니다.

희망이 도움이됩니다.

1

로컬에서 Azure sql에 연결을 테스트하는 경우 로컬에 Azure sql에 액세스 할 수 있도록 클라이언트 IP를 Azure sql Firewall에 추가해야합니다. 연결이 열려 있지 않은 경우

enter image description here

, 우리는 전에 연결을 열고 푸른 SQL 데이터베이스에서 데이터를 검색 해야합니다. 더 자세한 오류 정보를 얻기 위해 중단 점을 설정할 수도 있습니다.

try 
    { 
     if (connection.State != ConnectionState.Open) 

     { 
      connection.Open(); 
     } 
     SqlCommand command = new SqlCommand(sql, connection); 
     SqlDataReader reader = command.ExecuteReader(); 

     while (reader.Read()) 
     { 
     persons.Add(new Person(reader.GetInt32(0), reader.GetString(1))); 
     } 
    } 

catch(Exception e) 
{ 
     System.Diagnostics.Debug.WriteLine("Error in getPersons(): " + e.Message); 
} 

    return persons; 
관련 문제