실습

 

-보너스를 받는 모든 사원에 대해서 이름, 급여 그리고 보너스를 출력하는 질의문을 형성하라. 단 급여와 보너스에 대해서 내림차순 정렬

 SQL> SELECT ename, sal, comm

        2 FROM emp

        3 WHERE comm is not null

        4 ORDER BY sal DESC, comm DESC;

 

-보너스가 급여의 20% 이상이고 부서번호가 30인 많은 모든 사원에 대해서 이름, 급여 그리고 보너스를 출력하는 질의문을 형성하라.

 SQL> SELECT ename, sal, comm

        2 FROM emp

        3 WHERE comm>=sal*0.2 and deptno=30;

 

 

 

실습

 

-부서 10과 30에 속하는 모든 사원의 이름과 부서번호를 이름의 알파벳 순으로 정렬되도록 질의문을 형성하라.

SQL>SELECT ename, deptno

      2 FROM emp

      3 WHERE deptno IN(10,30)

      4 ORDER BY ename;

 

 

-1982년에 입사한 모든 사원의 이름과 입사일을 구하는 질의문은?

SQL> SELECT ename, hiredate

       2 FROM emp

       3 WHERE hiredate LIKE '%82';

 

 

 

 

 

⁠<데이터 템플릿>

​데이터 템플릿은 임의의 닷넷 객체가 랜더링 될 때

적응 할 수 있는 UI의 한 부분으로 많은 WPF

컨트롤들은 데이터 템플릿을 효과적으로 

사용하기 위해 DAtaTemplate 타입의 Porperty들을

갖고 있습니다 WPF 데이터템플릿 모델을 사용하​면


데이터의 표현 방법을 매우 융통성 있게


정의 할수 있습니다. line_characters_in_love-6


이제 데이터 바인딩 예제를 살펴봄으로써


DataTemplate 이 왜 중요한지 알아보겠습니다.


Visual Studio 를 열어 DataTemplate 라는


이름으로 새로운 프로젝트를 생성합니다.


 

 

그리고 프로젝트의 이름 Carlist 로 변경합니다.


 

 



다음은 데이터 템플릿 작업 전에 데이터 바인딩


작업을 진행하겠습니다.


데이터 바인딩이 익숙하진 않지만 아래의


소스코드와 전 강의때의 데이터바인딩


을 참고하여서 진행해보겠습니다.


 

 


위 코드를 다 작성하셨다면 간단한 데이터바인딩


작업은 끝이 났고 다음과 같은 결과를 보입니다


(참고로 App.xaml 의 ⁠StartupUri⁠ 를 CarList.xaml

으로 변경해주세요. %EB%86%80%EB%9E%8C%20%EB%B6%84%ED%99%8D%EB%8F%99%EA%B8%80%EC%9D%B4)

 

 

 

위의 CarList.xaml 코드를 보시면서 눈치 채셨을지

모르겠지만 ListBox에 데이터 바인딩을 하면서

DataTemplate이 사용된 것을 아실 수 있을겁니다.


StackPanel의 DataContext의 "rsCarList" 는


데이터를 정의한 리소스이므로 DataTemplate


형식을 사용하는 속성을 가진 다른 컨트롤들


을 사용할수가 있습니다.


그럼 이제 DataTenplate에 요소를 추가하여


데이터가 좀 더 세련되게 나타나도록


만들어보겠습니다~line_rangers-12


CarList.xaml에서


<Window Resources>...</Window Resources>


사이의 코드를 아래코드를 추가합니다.

 


다음으로 ListBox를 다음과 같이 변경합니다.


 


 

​ListBox에 HorizontalContentAlignment를


Stretch로 설정한 것은 항목 너비가 전체 공간을


차지하도록 하게 하기 위함입니다..


Ctrl + F5  눌러 실행결과를 보세요~


 

 

 

DataTemplate를 적용된 보습이 처음 결과보다


훨씬 더 세련되고 멋지게 나옵니다.


이로서 데이터 바인딩을 넘어서


데이터 템플릿을 적용한 응용프로그램을


만들수 있게되었습니다. line_rangers-12





'닷넷 > Wpf프로그래밍' 카테고리의 다른 글

WPF 교육11  (0) 2015.09.24
WPF 교육10  (0) 2015.09.24
WPF 교육8  (0) 2015.09.22
WPF 교육7  (0) 2015.09.21
WPF 교육6  (0) 2015.09.18

배열의 메소드 (4)

 

 

 

 

ØArray.CreateInstance(Type, length);
ltype 형식, length 길이의 배열을 인스턴스화 한다.
l new Type[length] 와 같은 역할

 

Ø
SetValue(element, index)
l배열[index]=element; 와 같은 역할

 

ØGetValue(index1, index2, …)
l배열[index1, index2, …] 와 같은 역할

 

 

 

 

 

예제) IndexOf의 구현

 

 

 

(2차원 배열에서의 IndexOf를 구현해 보자)

아래 배열을 구성한다.

11 12 13

21 22 23

31 32 33

 

 

for 문을 이용하여 값이 23element의 배열 인덱스를 구해보자.

 

 

 

 

배열의 메소드 (3)

 

 

 

 

ØGetLowerBound(차원)

  GetUpperBound(차원)

l해당 차원의 첫/마지막 index를 반환한다.

 

ØIndexOf(array, 찾을값)

  LastIndexOf(array, 찾을값)

l찾을값”을 검색하여 그 index를 반환한다. IndexOf는 앞에서 부터, LastIndexOf는 뒤에서 부터 검색

 

 

 

 

 

다중 열에 의한 정렬

 

-Order by list에 명시한 순서가 정렬되는 순서임

-Select list에 없는 열로도 정렬은 가능

-모든 사원의 이름과 급여 및 부서번호를 출력하는데, 부서 번호로 결과를 정렬한 다음 급여 대해서는 내림차순으로 정렬하라.

 

 SQL> SELECT ename, job, deptno, sal

       2 FROM emp

       3 ORDER BY deptno, sal DESC;

 

 

 

order by 절 사용 시 정렬 기준의 원칙

 

-디폴트는 오름차순 정렬이 원칙

-NUMBER TYPE은 가장 적은 값부터 출력됨(예:1-99)

-날짜 타입은 가장 빠른 값부터 출력됨(예:80-12-17,  81-02-20, 82-01-23, ..)

-문자 값은 알파벳 순서로 출력됨(예:특수문자-A_Z_a_z)

-Null값은 오름차순에서는 제일 나중에 그리고 내림차순에선느 제일 먼저 출력됨

-SELECT 절에 포함되지 않는 컬럼도 정렬을 하기 위한 ORDER BY절에 올수 있음

 

 

+ Recent posts