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(); }