| 1/4. 한 프로젝트에서 웹서비스 만들기 2/4. DB연결 하기 3/4. 리스트 주고 받고 - 서버 탐색기와 린큐를 이용한 방법 4/4. 리스트 주고 받고 - 클래스를 이용한 방법 |
Select Top 10 strData1, strData2, strData3 From tb_WebServiceTest
public class claData
{
/// <SUMMARY>
/// 데이터A
/// </SUMMARY>
public string strA { get; set; }
/// <SUMMARY>
/// 데이터B
/// </SUMMARY>
public string strB { get; set; }
/// <SUMMARY>
/// 데이터C
/// </SUMMARY>
public string strC { get; set; }
}
[OperationContract] List<CLADATA> GetClass();
SqlConnection msConn = null; // DB서버 연결을 위한 객체 SqlCommand msComm = null; // Command 객체 SqlDataAdapter msAdapter = null; // 데이터 아답터 객체
public List<CLADATA> GetClass()
{
//리턴할 데이터 리스트
List<CLADATA> insRetun= new List<CLADATA>();
//데이터 임시저장용
claData insData;
//전체데이터를 받아올 데이터테이블
DataTable dtData = new DataTable();
//데이터요청 프로시저
msComm = new SqlCommand("GetData_Range", msConn);
msComm.CommandType = CommandType.StoredProcedure;
//아답터 생성
msAdapter = new SqlDataAdapter(msComm);
//데이터 테이블 체우기
msAdapter.Fill(dtData);
//받아온 데이터테이블을 필요한 데이터를 추출하여 클래스로 만든다.
foreach (DataRow drTemp in dtData.Rows)
{
insData = new claData();
insData.strA = drTemp["strData1"].ToString();
insData.strB = drTemp["strData2"].ToString();
insData.strC = drTemp["strData3"].ToString();
//리턴할 데이터에 추가
insRetun.Add(insData);
}
return insRetun;
}
//클래스를 이용한 리스트 겟 sc.GetClassCompleted += new EventHandler<ServiceReference1.GetClassCompletedEventArgs>(sc_GetClassCompleted);
void sc_GetClassCompleted(object sender, ServiceReference1.GetClassCompletedEventArgs e)
{
//리스트 겟 - Class
dgDB.ItemsSource = (List<ServiceReference1.claData>)e.Result.ToList();
}
private void butGet_Class_Click(object sender, System.Windows.RoutedEventArgs e)
{
//리스트 클래스로 받기
sc.GetClassAsync();
}