리스트뷰 아이템 옆에 있는 체크박스가 아이템을 더블클릭 혹은 클릭시 체킹이 되는 문제!!!

또, Shift 키나 Ctrl 키를 함께 눌러서 사용했을 때 체킹이 이상하게 되는 문제를 해결하는 방법


그냥 아예..선택만 되고 체킹이 안됐으면 좋겠따....생각해서 찾아보았다



private bool inhibitAutoCheck;

private void listView1_MouseDown(object sender, MouseEventArgs e) {
    inhibitAutoCheck = true;
}

private void listView1_MouseUp(object sender, MouseEventArgs e) {
    inhibitAutoCheck = false;
}

private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) {
    if (inhibitAutoCheck)
        e.NewValue = e.CurrentValue;
}

이렇게 작성해주면 선택만 되고, 체크박스에 체킹이 안된다!!!!!!


When clicking:

  1. MouseDown <------------- inhibited region
  2. Click
  3. MouseClick
  4. MouseUp ------------->
  5. ItemCheck (outside inhibited region)
  6. ItemChecked

When double clicking:

  1. MouseDown <------------- inhibited region
  2. ItemSelectionChanged
  3. SelectedIndexChanged
  4. Click
  5. MouseClick
  6. MouseUp ------------->
  7. MouseDown <------------- inhibited region
  8. ItemCheck (inside inhibited region)
  9. ItemActivate
  10. DoubleClick
  11. MouseDoubleClick
  12. MouseUp ------------->

이러한 원리라는데.. 그냥 누가더 우선순위인가 이런문제인것 같다



이제ㅠㅠ 선택된 아이템들을 체킹할수 있는 방법을 생각하러가야지...

한국사이트에서 아무도 이야기 안해놓길래.. 해외사이트 검색 안하는사람을 위해!!!!

MultiSelect Remove할 때 주의할 점이 있다!

반드시 역순으로 삭제를 해야한다....

 

리스트뷰에서 ListView.SelectedItems[0] 이면 리스트뷰에서 여러 개 선택한 개수 중에 맨 위에 선택한 곳의 index의 주소값이 ListView.SelectedItems[0] 안에 들어가는 것!!!!!!!

 

그렇기 때문에 순차적으로 1,3번째삭제를 하게 되면 (1은 0번째!)

0번째 -- 1

1번째 -- 2  << 삭제를 하면

2번째 -- 3

3번째 -- 4  << 다음 삭제 예정

4번째 -- 5

 

==삭제 후 ListView 인덱스 갱신==

0번째 -- 1

1번째 -- 3

2번째 -- 

3번째 -- 5  << 여기가 3번째가 되어버림


가 되는데 listView의 인덱스는 변경이 되었지만, listView.SelectedIndeces의 인덱스는 변경되지 않고 그대로 3번째인 5가 삭제가 되어버리는 현상이 나타나게 된다. 나는 4를 삭제하고 싶었는데..오더가 잘못 되게 되는 것이다.

따라서 역순으로 삭제를 하게 되면 위와 같은 현상은 발생하지 않게 되는 것이다. 역순으로 삭제를 해버리면 인덱스가 다시 고쳐져도 위의 인덱스는 영향을 받지 않기 때문!!!

따라서 반드시 다중 삭제를 할 때는 역순으로 삭제해야 한당


따라서 예제코드를보면 


int cnt = listView1.SelectedItems.Count;

for (int i =  cnt-1 ; i >= 0; i--)

{

listView1.Items.Remove(listView1.SelectedItems[i]);

}


이렇게 삭제를 하면 된다!

리스트뷰 컬럼헤더 안보이게 아이템 한줄로 나열


private void SetListView(ListView listview)

{

listview.View = View.Details;

listview.HeaderStyle = ColumnHeaderStyle.None;

ColumnHeader h = new ColumnHeader();

h.Width = listview.ClientSize.Width - SystemInformation.VerticalScrollBarWidth;

  listview.Columns.Add(h); 

}


이거 추가해서 폼의 생성자 부분이나 Load부분에 함수로 넣으면 됌!

사실 리스트뷰가 하나면 listView1.~~~ 이렇게 해도 되는데..

나는 리스트뷰가 하나 이상이라 일일히 쳐줄려면 코드가 길어지길래 함수로 뺀것

하나만 있으면 생성자 부분에 저 SetListView 함수속 코드를 때려박아도 무방!

딕셔너리에서 키 뭉치 가져오는법


List<string> keyList = new List<string>(this.yourDictionary.Keys);

아무리 딕셔너리에서 한방으로 가져오려해도 ㅠㅠ 방법을 찾을수가없다..

한방에 가져올 수 있는 방법 아시는분 댓글점..


출처 : http://stackoverflow.com/questions/1276763/how-do-i-get-the-list-of-keys-in-a-dictionary



int로 다 계산하지 못하는 숫자 (21억 어쩌고 하는 그 숫자, int의 최댓값)

를 계산하려면 BigInteger를 사용하면 된다.

.Net 4.0부터 도입된 부분이며

BigInteger를 사용하기 위해서는 반드시 System.Numerics.dll에 대한 참조 추가를 해줘야 하며

System.Numerics를 using해 줘야 한다.


BigInteger는 일반 정수처럼 사용할 수 있고, 구조체 내부에 정의된 함수를 이용해서도 다양한 연산을 할 수 있다고 한다.


BigInteger구조체 MSDM : 


https://msdn.microsoft.com/ko-kr/library/system.numerics.biginteger(v=vs.110).aspx


참고 : 

http://slaner.tistory.com/105

리스트뷰가 꽉차면 가로 스크롤이 생겨나면서 오른쪽으로 아이템이 쭉 생겨나는 현상


이 현상에서 세로로 아이템이 나타나도록 하는 방법


listView1.View = View.Details;

listView1.HeaderStyle = ColumnHeaderStyle.None; 

ColumnHeader h = new ColumnHeader (); 

h.Width = listView1.ClientSize.Width -SystemInformation.VerticalScrollBarWidth;

listView1.Columns.Add (h); 


폼 생성자나 ListView 관련 함수에 위의 소스를 추가하면 된다..

위의 소스는 헤더컬럼을 하나 만든 뒤 숨김을 하는 코드이다.


리스트뷰에 헤더컬럼을 하나라도 추가하지 않으면 세로로 아이템이 나타나지 않는 것 같다...


출처 : http://stackoverflow.com/questions/6923424/c-sharp-listview-vertical-scroll


==========

좀 시간지나서 생각해봤는데..
한줄에 하나씩 뿌려주는건 Details뷰 이고 , List뷰는 말그대로 리스트였나보다..


'프로그래밍 > C#' 카테고리의 다른 글

C# Dictionary 에서 KeyCollection 가져오는 법  (0) 2017.02.08
[C#] BigInteger  (0) 2017.02.03
[C#]DLL 사용하기  (0) 2016.10.11
[C#]DLL 만들기  (0) 2016.10.11
[C#] 폼 넘기기  (0) 2014.08.28


Ctrl+Enter 누르면 한글 한페이지가 넘어가진다


엔터로 한페이지를 넘겨도 상관없지만 그렇게되면 넘기기 전에 글을 쓰게 되면 한페이지 엔터가 남아있는 채로 글이 써지기때문에 불편해서 찾아보았다!

OpencvSharp 에서 쓰는 CompareHist 함수이다.


Cv2.ComapreHist() 로 쓰면 되는 메서드인데 참고하기 위한 중간소스를 올려놓겠다.



Opencv는 맨 마지막 파라미터에 4개의 숫자(0~3)까지가 들어가지만, 오픈씨샵에서는 아래와 같이 제공한다. Opencv는 4개의 비교알고리즘만 제공하는걸로 알고있다.


오픈씨샵 HistCompMethods 의 종류


어떻게 비교할껀지 파라미터를 집어넣어서 사용하면 된다. 적절한 비교 알고리즘을 사용하면 될 것 같다.


아래 표를 가져온 사이트는 메뉴얼 사이트 같은데 참고하라고 올려놓겠다.


http://shimat.github.io/opencvsharp/html/ece6d86a-d3ab-a066-0839-0d1f021ad62c.htm




OpencvSharp 으로 히스토그램을 뽑아야하는데 아무리 뒤져도 Cv2로 되어있는 히스토그램 만들기를 찾을 수 없었다.. 열심히 삽질 후에야 드디어 만들었는데, 나같은 사람이 없길 바라며 나의 소스 일부를 공개하겠다.


아무도 오픈씨샵을 사용하지 않나보다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ



Cv2.CalcHist 를 사용하는 분들과 Cv2.Noramlize를 사용하시는분들은 참고하시길 바래여!


저는 이 사이트에서 메뉴얼 일일히 찾아보고 만들었으니 이와 다른 메뉴얼을 좀 더 참고하고 싶으신 분은 아래 사이트를 이용하시면 됩니다.


OpencvSharp Standard Library 같음


http://shimat.github.io/opencvsharp/html/1bb515b3-6278-49e4-9a33-1054bd279323.htm



여담인데 하............저 맨앞 new Mat[]{hsv_base} 부분을 찾는데 너무 힘들었다. 씨쁠에서는 &Mat를 사용하는데 씨샵에서는 어떻게 해야되는지 몰라서 아..안되나 하고 포기할쯤 검색 미리보기에 저 형식이 있길래 써먹어봤더니 된다.............ㅎ ㅏ...........저같은 삽질하지 마세오........


OpencvSharp CalcHist 를 만드려는 사람에게 도움이 되었음 좋겠습니다!! 


캡스톤 프로젝트를 하는데 자꾸 Mat 형식에는 null을 사용하면 에러가 난다고 한 디버깅 메세지로 이 문제를 고민하게 되었다.


아니......... null로 할당을 안해주면 할당하지 않은 값이라고 빨간줄나고 어쩌라는건지 ㅠㅠ

그래서 열심히 고민하다가 new로 할당한번 해보니 해결되는 기적을 보아따!


Mat src = new Mat(); 로 생성해주면 더이상 오류나지 않는다!


그러므로 빈 Mat 형식을 만들어놔야 할 경우 new로 할당받아놓아야 한다.



이런식으로 !!



사진과 같이 Cv2.ImRead 를 이용하여 이미지를 불러오며


OpencvSharp 안에 있는 BitmapConverter를 이용하여 Mat 형식을 Bitmap으로 변경한다.


Mat to Bitmap

매트형식을 비트맵으로 변경하기


RGB 를 HSV로 바꾸는 방법


나는 opencvsharp을 이용했고 C#에서 사용했다.


Cv2.CvtColor(src_base,hsv_base,ColorConversionCodes.RGB2HSV);


로 사용하면 된다. 


참고사이트 : http://shimat.github.io/opencvsharp/html/83c0eb24-b0ca-9b3a-2f19-82b28ad9ec6d.htm

DLL 사용하는 방법을 정리해놓는다.


먼저 


새 프로젝트 >> Visual C# >> Windows Form 응용 프로그램 을 만든다. 



현 프로젝트의 참조에서 오른쪽 클릭을 하여 참조추가를 한다. 




찾아보기를 클릭하여 만든 dll 파일을 선택하여 추가 버튼을 누른다.



dll 파일이 불러와졌는지 확인한 후 확인 버튼을 누른다.



참조에 DLLMAKE 라고 추가한 dll 파일이 있는것을 확인할 수 있다.



그 뒤 소스코드 맨 상단에 using 내dll파일이름; 을 이용하여 연결시켜준 뒤, 아래의 위치에 클래스 이름으로 한번 더 연결시켜 준다.  (그림 소스 참조)


DM(내가만든 DLLMAKE의 클래스이름) DLLTEST(변수이름) = new DM(내가만든DLLMAKE의 클래스 이름) ();


이렇게 써주면 된다.


이용방법은 아래 메서드와 같이 


DLLTEST(위의 클래스변수이름).TestSum(DLLMAKE에서 만든 메서드 이름)(파라미터들 적용).Tostring(textBox에 나타내주기위함)


이다.



결과화면은 다음과 같다.



수식기호는 생략하였다. 1+2 = 3 이란 결과이다.


끝!

'프로그래밍 > C#' 카테고리의 다른 글

[C#] BigInteger  (0) 2017.02.03
[C#] ListView 가로 스크롤 세로 스크롤로 바꾸기  (0) 2017.02.03
[C#]DLL 만들기  (0) 2016.10.11
[C#] 폼 넘기기  (0) 2014.08.28
[C#]C# 과 오라클 데이터베이스 연동 방법  (1) 2014.08.28

캡스톤을 하던 중 DLL 이용을 하고싶어져서 DLL을 만드는법과 DLL 사용하는법을 찾아보았다.

너무 정리가 잘 되어있는 분의 글을 읽고 나도 정리하고 싶어져서 글을 써논다.

그분의 글중 그림이 안보이는 부분도 있고..


먼저 DLL 만드는 부분이다.



새 프로젝트 >> Visual C# >> 클래스 라이브러리 를 선택 후 적당한 이름을 지어준 후 확인버튼을 누른다.


클래스의 이름을 원하는 이름으로 바꿔준다. (나중에 쓸 때 가독성을 높이기 위함인 듯 하다)




위의 "예" 버튼을 눌러 모든 참조의 이름도 바꿔야한다!


다음으로 아래와 같이 원하는 함수를 작성한 뒤 빌드를 한다.

여기서 컴파일이 아니라 빌드를 해야한다! 컴파일을 하면 dll 파일은 실행파일이 아니기때문에 해당 파일을 열수 없다는 뉘앙스로 오류가 나게 된다.




이렇게 빌드를 한 뒤 Debug 파일에 들어가서 확인해보면 dll 파일이 생성된 것을 볼 수 있다.




쨘!

'프로그래밍 > C#' 카테고리의 다른 글

[C#] BigInteger  (0) 2017.02.03
[C#] ListView 가로 스크롤 세로 스크롤로 바꾸기  (0) 2017.02.03
[C#]DLL 사용하기  (0) 2016.10.11
[C#] 폼 넘기기  (0) 2014.08.28
[C#]C# 과 오라클 데이터베이스 연동 방법  (1) 2014.08.28

opencv 3.0 을 CMake 로 생성 후 프로젝트에서 연결하는 방법을 설명한 글이다.


현재 프로젝트의 속성에서 3부분을 연결시켜야 한다.

나는 CMake를 이용하여 만든 opencv 파일이 D드라이브의 programfiles에 있다. 경로가 중요하니 참고바람!


1. 속성 >> C/C++ 일반


보통 프로젝트를 새로 만들고 설정할 경우 추가 포함 디렉토리엔 비어있는 상태이다. 나는 한번 연결해 논 것을 글로 남기려고 속성에 들어간 것이라서 경로가 남아있는것이다.



여기서 <편집...>을 누르면 다음과 같은 창이 뜬다



빈공간을 더블클릭하면 다음과 같이 네모칸이 뜨며 무언가를 쓸 수 있는 공간이 만들어진다. 바로 쓰지 말고 옆에있는 ... 버튼을 눌러 경로를 지정한다


나의 경우는 D드라이브에 programfile 부분에 opencv가 있어 거기까지 지정하는 거고, 본인의 경로에 맞춰 include 까지 폴더클릭한 후 설정해주면 된다.



위의 경로를 참고하길 바람! 꼭 include 까지만 지정한 후 폴더선택을 눌러야 한다고 한다. 그 다음 확인 버튼을 눌러 경로 설정을 완료하면 된다.


2. 링커 일반


속성 >> 링커 >> 일반 에 들어가서 추가 라이브러리 디렉터리에 경로를 추가해준다

바로 전단계와 경로지정 하는 방법은 동일하다.



편집을 누르면 아래와 같은 창이 뜨는데 동일하게 빈공간을 더블클릭 한 후 오른쪽에 ... 버튼을 눌러 경로를 선택한다.


여기서 주의해야 할 점은 CMake에서 만들어진 폴더가 아닌 내가 직접 만든 mybuild (이름은 사용자가 지정하기에 따라 달라 질 수 있다.) 파일이니 혼동하지 말아야 한다.

mybuild에 lib 파일을 선택한 후 폴더선택 버튼을 누른다.



폴더 선택을 누르면 다음과 같이 경로가 지정되고 확인을 누르면 된다.



3. 링커 입력


속성 >> 링커 >> 입력에 들어가서 추가 종속성 부분을 편집해준다.



그럼 이렇게 추가 종속성 창이 뜨는데 아래 상속된 값을 복사하여 위의 흰색 란에 붙여넣기를 한다. 모두 복사하여 위의 흰색 배경란에 붙여넣기를 해야한다.



그다음에 맨 밑으로 내려가서 opencv_world310d.lib 를 직접 타이핑하여 넣어주고 확인을 누르면 된다.



라이브러리 이름이 opencv_world310d.lib 여서 추가해 준 것이다.


오늘 opencv를 너무 많이 연결해서 잘 알때 글로 남겨놓는다. 이 글을 보고 많은 사람들이 연결을 쉽게 할 수 있었음 좋겠따

#include "opencv2/~~~.cpp" 에서 #includ 부분이 밑줄쳐지며 인클루드가 안되는 현상


오류   C1083   포함 파일을 열 수 없습니다. 'opencv2/highgui/highgui.hpp': No such file or directory


해결방안은 두가지를 찾았다.


1. 현재 프로젝트 속성 >> C/C++ >> 일반 >> 추가포함디렉터리 에서 경로지정을 include 까지만 해보자




2. 플랫폼을 제대로 맞췄는지 확인해보자


현재 프로젝트 속성 >> 구성관리자 >> 플랫폼확인


나의 문제는 플랫폼이 달라서 생기는 문제였다. 문제를 찾아보던중 include 이상의 경로지정을 해주어서 생기는 문제도 많은 것 같아 같이 올려본다



속성 -> 구성속성 -> 일반 -> 프로젝트 기본값에서 MFC 사용을 공유 DLL에서 MFC 사용으로 바꿔준다.


이것은 멀티 프로젝트에서 서로 다른 프로젝트 옵션 때문에 발생한다는데, 그 원인은 서로 다른 런 타임 라이브러리를 참조하기 때문이란다.


따라서 프로젝트의 속성을 모두 동일하게 설정해 주면 된다.

'프로그래밍 > MFC' 카테고리의 다른 글

MFC CMap GetStartPosition, GetNextAssoc  (0) 2017.07.17
MFC ListControl 한개 이상 선택하기  (0) 2017.06.23
MFC 컨트롤 변수화 하기  (0) 2017.06.22
MFC DWORD 타입 에서 ip 까보기  (0) 2017.03.09
[MFC]MSB8031 오류  (0) 2016.03.18



프로젝트 속성 -> 구성속석 -> 일반 에 들어가서 MFC 사용을 정적 라이브러리에서 MFC 사용으로 바꿈


이래도 안되면 이걸 설치해봄


2013 부터는 MBCS용 MFC 라이브러리(DLL)가 제공되지 않는다고함.

디볼트인 유니코드를 사용 권장하기 때문이라는뎅

 

 

아래 사이트에서 다운받고 설치해보자

http://www.microsoft.com/ko-kr/download/details.aspx?id=40770



'프로그래밍 > MFC' 카테고리의 다른 글

MFC CMap GetStartPosition, GetNextAssoc  (0) 2017.07.17
MFC ListControl 한개 이상 선택하기  (0) 2017.06.23
MFC 컨트롤 변수화 하기  (0) 2017.06.22
MFC DWORD 타입 에서 ip 까보기  (0) 2017.03.09
[MFC]C1189 에러  (0) 2016.03.18



이러한 메세지가 뜰 경우


error LNK2019 : imp InitCommonControls @0 외부기호에서 확인하지 못했습니다.

error LNK2019 : imp CreateToolbarEx @ 52 외부기호에서 확인하지 못했습니다.


가 뜰 경우InitCommonControls()로 초기화 해줘야하는데 링크가 제대로 안된 문제이다. 이 문제는


#pragma comment(lib,"Comctl32.lib")를 추가하거나 프로젝트상에서 추가시켜주면된다.


프로젝트에서 추가해도 잘 연결이 안되는 문제가 종종 있으므로 그냥 #include 부분쪽에 추가시켜주는걸 권장한다.

'프로그래밍 > 기타' 카테고리의 다른 글

Visual Studio 관리자 권한으로 실행  (0) 2018.04.26

옛날 프로젝트 했던걸 기반으로 예시 SQL문 짱박아놓기

 

//선배가 준 예시본
--관리자 추가
INSERT INTO MANAGER VALUES('manager', '000');


--엘레베이터 정보 추가
INSERT INTO ELEVATOR_INFO VALUES('00A', 800, 6);
INSERT INTO ELEVATOR_INFO VALUES('00B', 900, 8);
INSERT INTO ELEVATOR_INFO VALUES('00C', 1000, 7);

--엘레베이터 추가
INSERT INTO ELEVATOR VALUES('00a', '00A', '000');
INSERT INTO ELEVATOR VALUES('00b', '00B', '001');
INSERT INTO ELEVATOR VALUES('00c', '00C', '002');

--이력 추가
INSERT INTO HISTORY VALUES('00_0a', '00a', SYSDATE);
INSERT INTO HISTORY VALUES('00_0b', '00b', SYSDATE);
INSERT INTO HISTORY VALUES('00_0c', '00c', SYSDATE);

--점검 이력 추가
INSERT INTO CHECK_HISTORY VALUES('00_0a', '이상 없음');
INSERT INTO CHECK_HISTORY VALUES('00_0c', '이상 없음');

--고장 이력 추가
INSERT INTO FAILURE_HISTORY VALUES('00_0a', '하중 센서 이상');
INSERT INTO FAILURE_HISTORY VALUES('00_0b', '속도 이상');
INSERT INTO FAILURE_HISTORY VALUES('00_0c', '문 이상');

--수리 이력 추가
INSERT INTO REPAIR_HISTORY VALUES('00_0a', '하중 센서 수리');
INSERT INTO REPAIR_HISTORY VALUES('00_0b', '속도 센서 교체');
INSERT INTO REPAIR_HISTORY VALUES('00_0c', '문 수리');

------------------------------------------------------------------------------
알아간것들

// INSERT INTO 클래스명 VALUES ('자료','자료');


//컬럼 삭제
ALTER TABLE APT  //ALTER TABLE 테이블 이름
DROP COLUMN APT_floor;  // DROP COLUMN 컬럼이름;

//컬럼 타입 변경
ALTER TABLE APT  //ALTER TABLE 테이블이름
MODIFY(APT_floor INTEGER); //MODIFY(컬럼이름 타입);

//컬럼추가
ALTER TABLE HISTORY //ALTER TABLE 테이블이름
ADD(APT_floor INTEGER); //ADD(컬럼이름 타입);


//날짜(DATE) 추가
//TO_DATE(숫자 , YYYYMMDD)
//만약 안에 하이픈이라던가 띄어쓰기 있으면 문장형으로 숫자가 아닌 '숫자-숫자'등으로 쓴다
TO_DATE(20140101,'YYYYMMDD')
TO_DATE('2014-07-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')

//DATE 가져올때

SELET TO_CHAR (HISTORY, 'YYYY-MM-DD HH24:MI:SS)


//SQL 문 Join

select 열 목록 (칼럼) from 첫 번째 테이블 INNER JOIN 두 번째 테이블 ON 조인될 조건 where 검색 조건

select history_date,check_contents from history h inner join check_history c on h.HISTORY_CODE=c.HISTORY_CODE where
elevator_code = 'E1_01'

//원하는 데이터 수정할때 (update)

update 테이블 명 set 새 데이터명 = ' ' where 바꿀 데이터명 = ' '

update telephone_dic set phone = '010-1534-5668' where phone = '010-1234-1234'

//원하는 데이터 삭제할때 (delete)

delete from 테이블명 where 지우고자하는데이터명 = ' '

delete from telephone_dic where phone = '"+textBox1.Text+"'
---------------------------------------------------------------------------------
데이터 저장용(관리자는 없음)

--APT

INSERT INTO APT VALUES('A1',1);
INSERT INTO APT VALUES('A2',2);

--HOUSEHOLD

INSERT INTO HOUSEHOLD VALUES('F1_101',101,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_102',102,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_103',103,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_104',104,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_105',105,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_106',106,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_107',107,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_108',108,'A1');
INSERT INTO HOUSEHOLD VALUES('F2_101',101,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_102',102,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_103',103,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_104',104,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_105',105,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_106',106,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_107',107,'A2');
INSERT INTO HOUSEHOLD VALUES('F2_108',108,'A2');

INSERT INTO HOUSEHOLD VALUES('F1_201',201,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_202',202,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_203',203,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_204',204,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_205',205,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_206',206,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_207',207,'A1');
INSERT INTO HOUSEHOLD VALUES('F1_208',208,'A1');

 

--Telephone_Dic

INSERT INTO TELEPHONE_DIC VALUES('010-0001-0101','F1_101');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0102','F1_102');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0103','F1_103');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0104','F1_104');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0105','F1_105');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0106','F1_106');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0107','F1_107');
INSERT INTO TELEPHONE_DIC VALUES('010-0001-0108','F1_108');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0101','F2_101');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0102','F2_102');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0103','F2_103');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0104','F2_104');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0105','F2_105');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0106','F2_106');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0107','F2_107');
INSERT INTO TELEPHONE_DIC VALUES('010-0002-0108','F2_108');


--ELEVATOR_INFO

INSERT INTO ELEVATOR_INFO VALUES('1',1010,10);
INSERT INTO ELEVATOR_INFO VALUES('2',1020,20);
INSERT INTO ELEVATOR_INFO VALUES('3',1030,30);
INSERT INTO ELEVATOR_INFO VALUES('4',1040,40);

--Elevator

INSERT INTO ELEVATOR VALUES('E1_01','1','A1');
INSERT INTO ELEVATOR VALUES('E1_02','2','A1');
INSERT INTO ELEVATOR VALUES('E1_03','3','A1');
INSERT INTO ELEVATOR VALUES('E1_04','4','A1');
INSERT INTO ELEVATOR VALUES('E2_01','1','A2');
INSERT INTO ELEVATOR VALUES('E2_02','2','A2');
INSERT INTO ELEVATOR VALUES('E2_03','3','A2');
INSERT INTO ELEVATOR VALUES('E2_04','4','A2');

--HISTORY

INSERT INTO HISTORY VALUES('H001','E1_01',TO_DATE('2014-11-20 09:52:17','YYYY-MM-DD HH24:MI:SS'),2);

--CHECK_HISTORY

INSERT INTO CHECK_HISTORY VALUES('H001','점검 완료');

--REPAIR_HISTORY

INSERT INTO REPAIR_HISTORY VALUES('H001','수리하였음');

--FAILURE_HISTORY

INSERT INTO FAILURE_HISTORY VALUES('H001','고장났음');

--CALL_HISTORY

INSERT INTO CALL_HISTORY VALUES('H001',TO_DATE('2014-11-20 10:06:26','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-11-20 10:07:06','YYYY-MM-DD HH24:MI:SS'));


 

 

+ Recent posts