안녕하세요 질의 내용 (문자열)을 arraylist로 반환하려고 할 때 문제가 있습니다. 내 쿼리 중 하나로 관리했지만 다른 방법으로 재현 할 수 없습니다. (EmplAbsence 클래스가 있습니다)
웹 서비스 방법 1 :
[WebMethod]
public List<EmplAbsence> getEmplAbsence()
{
List<EmplAbsence> emplAbsence = new List<EmplAbsence>();
try
{
sqlConn.Open();
string queryEmplAbsence = "select [First Name],[Last Name] from [CRONUS Sverige AB$Employee] where No_ in (select [Employee No_] from [CRONUS Sverige AB$Employee Absence] where Description='Sjuk'and [From Date] between '2004-01-01' and '2004-12-31')";
SqlCommand cmd = new SqlCommand(queryEmplAbsence, sqlConn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
EmplAbsence ez = new EmplAbsence(reader.GetString(0), reader.GetString(1));
Console.WriteLine(ez);
emplAbsence.Add(ez);
}
}
catch (SqlException)
{
throw;
}
finally
{
sqlConn.Close();
}
return emplAbsence;
}
public class EmplAbsence
{
string firstname;
string lastname;
public EmplAbsence()
{
}
public EmplAbsence(string firstname, string lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
}
다음은 출력입니다.
쿼리는 SQL Server 관리자에서 작동하지만 지정된 문자열을 인쇄하지 않는 것 같습니다. Java 클라이언트 응용 프로그램에서 사용할 수 있으려면 다음과 같이 표시되어야합니다.
어떤 도움이라도 대단히 감사하겠습니다! 아마 사소한 실수일지도 모르지만 나는 꽤 오랫동안 이것으로 내 머리를 갈고 있었다.
생성자가 값을 올바르게 설정하고 있는지 확인한 후 DataContract
및 DataMember
특성을 사용하여 직렬화 할 클래스 멤버를 지정해야 합니다.
using System.Runtime.Serialization;
[DataContract(Name="MostSick")]
public class EmplAbsence
{
[DataMember]
public string FirstName {get;set;}
}
서비스 메소드에서 Array
대신을 반환 List<T>
하십시오.
return emplAbsence.ToArray();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다