일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Index Range Scan
- Loose Index Scan
- 배열
- 연결리스트
- javascript prototype
- 자료구조
- 스택 배열
- 추상적 자료 구조
- 배열 스택
- javascript this
- 확장 엘리먼트
- access
- pattern
- javascript 생성자
- 연동
- npm Option
- 연결 리스트
- jQuery
- javascript new
- 이중 연결 리스트
- 큐 연결리스트
- Index Full Scan
- new 사용법
- 포인터
- C#
- 생성자 new
- c언어 스택 배열
- Index Skip Scan
- 생성자
- 스택
- Today
- Total
목록Programming/C# (13)
Open-Closed Principle
이제 실제로 어떻게 코딩하는지 알아 보도록 하자 일단 연결을 해야 한다. 연결을 시작하는 부분 연결을 끝는 부분 간단한 쿼리를 만들어 보았다. 이렇게 하면 된다. 아주 쉽지???별거 아니다 간단한 쿼리들은 더 올리고 싶지만 나중에 수정하도록 하겠다.
전 글에서 만들었던 녀석을 갖고 이제 Visual에 등록을 해보도록 하겠다. 기본적으로 만들어 둔 Access 2003 .mdb 파일이 어디 있는 지 알아 두어야 한다. 기본적으로 만들면 내문서에 들어 가는 것 같다. 그러니 어디 있는지 모르는 사람들은 내문서에 들어가서 확인 해보도록 하자 . 이제 시작 해보도록 하겠다. 일단 Visual을 열도록 하자 보통은 윈도우 기반에서 사용하는 사람이 많다 보니 나도 WinForm에서 하도록 할 것이다. 1) Visual Studio를 켜서 C# WinForm을 만들도록 하자 WinForm으로 만들면 기본적으로 이런 화면이 나오게 된다. 이제 슬슬 만들어둔 녀석과 합칠 것이다. 2) 위에 메뉴에 보면 데이터라는 메뉴가 있다. 클릭하면 "새 데이터 소스 추가"가 보..
요즘 프로그램을 만들때 데이터베이스가 없는 것은 없다. 그래서 간단하게 Access와 연도하는 것을 만들어 보도록 하려 한다. 내가 연동을 하기 위해서 사용하는 녀석은 Microsoft Visual Studio 2008이다. 사용언어는 C#이다. 그리고 Access 2003을 사용할 것이다. 우선 Access 2003에서 간단한 파일을 만든다. 설명이 잘보이기 위해서 빨간 글씨를 사용하도록 하겠다. 1) Microsoft Access를 더블클릭하면 기본 화면이 나온다. 2) 오른쪽을 보면 새로 만들기 밑에 새 데이터베이스 만들기를 누른다. 이 녀식을 누르게 되면 새로운 데이터베이스 파일을 만드는 과정이 시작된다. 빨간 색으로 박스 한곳에 자신이 원하는 파일 이름을 작성해서 넣으면 된다. 나는 그냥 만들기..
Nullable 처음 들어본 사람도 있을 것이다. 하지만 현업에서 DB 중심적 프로그래밍을 하다보면 꼭 마주하는 녀석일 것이다. 왜냐혀면 참조형식에는 Null이라는 녀석이 있는데 C#의 값형식에는 Null이 없기 때문이다. Nullable 형식은 System.Nullable 구조체의 인스턴스이다. Nullable 형식은 값 형식의 올바른 값 범위뿐 아니라 null 값도 나타낼 수 있도록 한다.예를 들어 Nullable에는 -2147483648에서 2147483647까지의 모든 값을 할당하거나 null 값을 할당할 수 있다.숫자 및 부울 형식에 null 값을 할당할 수 있는 기능은 특히 값이 할당되지 않을 수 있는 데이터베이스 및 기타 데이터 형식을 다룰 때 유용하다.Colored By Color Scri..
C++을 해본사람은 다중상속에 대해 알고 있을 것이다. 그런데 다중상속은 많은 문제점을 갖고 있다. 그래서 C#에서는 다중상속 자체를 문법적으로 제한하면서 Interface라는 높은 차원의 추상화 클래스를 만들었다. 여기서 이야기 하고 싶은것은 Interface의 사용법이다.예를 들어 이런 상황이 있다고 가정해보자. Colored By Color Scripter™123456789101112131415161718using System; public class Program{ public static void Main(){ SampleClass sc = new SampleClass(); sc.PrintMessagebox(); sc.PrintForm(); }} public class SampleClass{ p..
C# Windows Forms 응용 프로그램을 만들다 보면 작업시간이 오래 걸려 프로그램이 응답없음에 빠지는 경우가 있다. 그래서 C# Windows Forms에서는 성능 향상을 위해 다중 스레딩을 사용하곤한다. 그런데 다중 스레드를 사용하다가 Thread가 종료 되는 시점에서 Main Thread에 있는 Control을 제어해야 할 경우가 있다. 이경우 InvalidOperationException라는 Exception이 발생하곤한다. 이유는 정책 때문이다. 기본적으로 Control은 Main Thread에서만 제어를 해야 한다. 경합 상태, 교착 상태 등의 다른 스레드 관련 버그가 발생할 수 있기 때문이다. 따라서 Control에 대한 액세스가 스레드로부터 안전한 방식으로 호출되거나 Main Thre..
도대체 람다가 뭘까????MSDN 왈 람다 식은 대리자 또는 트리 표현 형식을 만드는 데 사용할 수 있는 익명 함수입니다.람다 식을 사용하여 인수로 전달되거나 함수 호출 값으로 반환되는 로컬 함수를 쓸 수 있습니다.요따위로 적어 놨다. 뭐 대충 이해가 가는 사람도 있고 없는 사람도 있겠지만 그냥 익명 함수라고 알아두면 아주 편하게 사용할 수 있지 않을까 싶다. 우선 간단하게 사용법을 알아보자. Colored By Color Scripter™123456delegate int del(int i);static void Main(string[] args){ del myDelegate = x => x * x; int j = myDelegate(5); //j = 25}보통 이렇게 쓴다. 아주!!!! 쉽다. dele..
오늘 알아볼 것은 내부 클래이다. 내부클래스??? 생소할 수도 있을것 같다. 하지만 잘 생각해보면 유용하게 사용 될 수 있는 여지가 충분히 있는 문법이다. 예를 들어 이런 클래스가 있다고 해보자. Colored By Color Scripter™123456789101112131415161718using System; public class OutClass{ #region IoutClass 멤버 void DoSomeThing(){ Console.WriteLine("OutClass DoSomeThing Method!"); } #endregion IOutClass 멤버 public static void Main(){ OutClass outClass = new OutClass(); outClass.DoSomeTh..
오늘 알아볼 녀석은 소멸자이다. C++을 사용해본 사람들은 소멸자를 잘 알것이다. 메모리 관련해서 아주 중요한 영역이기 때문이다. 그런데 C#을 사용하는 사람들은 소멸자에 별로 관심이 없다. 가비지 컬랙션이 있기 때문에 보통은 객체가 어떻게 되는지도 모르고 그냥 넘어가는 경우가 다반사이다. 일반적으로 C#에는 가비지 컬랙터 기능이 있는 런타임을 대상으로 하지 않는 언어이기 때문에 개발시 메모리 관리가 필요하지 않다. 왜냐하면 .NET Framework 가비지 컬랙터에서 객체에 대한 메모리 할당과 해제를 암시적으로 관리하기 때문이다. 그러나 창, 파일 및 네트워크 연결처럼 관리되지 않는 리소스를 응용 프로그램에서 캡슐화할 경우, 소멸자를 사용하여 이 리소스를 해제해야 한다. 객체가 소멸 대상이 되면 가비지..
오늘 알아볼 녀석을 Delegate이다. 입문자의 경우는 Delegate를 사용에 대해 의문의 갖는다. 아주 많이...하지만 C#에서 자랑하는 기능이니, 알아두고 유용하게 쓸만한 곳을 찾아보는 것도 좋겠다. Delegate는 특정 매개 변수 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식이다.Delegate를 인스턴스화하면 메개 변수 및 반환 형식이 같은 모든 메서드 형식에 연결할 수 있고,인스턴스를 통해 메서드를 호출할 수 있다.Delegate 속성1. Delegate는 C++의 함수 포인터와 유사하지만 안전하다.2. Delegate를 통해 메서드를 매개 변수로 전달할 수 있다.3. Delegate를 사용하여 콜백 메서드를 정의할 수 있다.4. 여러 Delegate를 연결할 수 있다.5. 메서..