목차 일부
추천의 글 ... 15
감사의 글 ... 17
시작하기 전에 ... 19
PART Ⅰ. 시작하며
CHAPTER 1. VB.NET 소개
프로그래밍 개념 살펴보기 ... 26
.NET Framework의 컴포넌트에 대한 소개 ... 27
가상의 새로운 이름 JIT ... 32
어셈블리와 네임스페이스 ....
더보기
목차 전체
추천의 글 ... 15
감사의 글 ... 17
시작하기 전에 ... 19
PART Ⅰ. 시작하며
CHAPTER 1. VB.NET 소개
프로그래밍 개념 살펴보기 ... 26
.NET Framework의 컴포넌트에 대한 소개 ... 27
가상의 새로운 이름 JIT ... 32
어셈블리와 네임스페이스 ... 32
.NET Framework 클래스 라이브러리 ... 36
.NET의 개발 환경 살펴보기 ... 37
개발 언어에 무관한 동일한 개발 환경 ... 37
2가지 인터페이스 모드 ... 38
내장된 웹 브라우저 기능 ... 39
명령어 창(Command Window) ... 39
내장된 개체 브라우저 ... 41
통합된 디버거 ... 41
통합된 도움말 시스템 ... 42
매크로 ... 43
업그레이드 된 개발 툴들 ... 44
텍스트 편집기 ... 44
서버 탐색기 ... 45
데이터 연결 ... 45
도구 상자(Toolbox) ... 45
작업 목록 ... 47
요약 ... 48
PART Ⅱ. 데이터베이스 프로그래밍
CHAPTER 2. 데이터베이스 소개
데이터베이스의 개념 ... 52
데이터베이스를 사용하는 이유 ... 52
Database Management System ... 53
행과 레코드 ... 54
열과 필드 ... 54
관계형 데이터베이스와 위계형 데이터베이스 ... 54
위계형 데이터베이스 ... 54
관계형 데이터베이스 ... 56
키(Key) ... 61
인덱스(Index) ... 62
데이터 무결성(Data Integrity) ... 63
정규화(Normalization) ... 64
비 정규화(Denormalization) ... 67
UserMan 데이터베이스 구조 ... 68
요약 ... 69
CHAPTER 3A. ADO.NET 소개 : 연결 계층
네임스페이스(Data) ... 74
프로바이더(Provider) ... 75
연결할 때 프로바이더 지정 ... 77
.NET 데이터 프로바이더 ... 77
Connection 클래스 ... 78
Connection String 속성 ... 79
Connection 클래스 속성 ... 86
Connection 클래스 메소드(Method) ... 90
Connection 열기 ... 97
Connection 닫기 ... 97
Connection 관리 ... 98
Connection 복사 ... 98
2개의 Connection 개체 비교하기 ... 98
Connection State 조작 ... 100
Connections ... 101
트랜잭션(Transaction) ... 103
Connection 클래스 예외 처리 ... 112
Command 개체 사용 ... 118
OleDbCommand와 SqlCommand ... 118
SqlCommand 개체 인스턴스 만들기 ... 119
OleDbCommand 개체 인스턴스 만들기 ... 121
Command 클래스 속성 ... 122
Command 클래스 메소드 ... 125
Command 실행 ... 126
Command 클래스 예외 처리 ... 129
DataReader 클래스 사용 ... 131
SqlDataReader와 OleDbDataReader ... 131
DataReader 개체의 선언과 인스턴스 만들기 ... 132
DataReader에 있는 읽을 수 있는 열(row) ... 132
DataReader 닫기(close) ... 133
행(Columns)의 Null 값 확인 ... 134
복수 결과 처리 ... 134
DataReader 속성 ... 134
DataReader 메소드 ... 135
DataReader 예외 처리 다루기 ... 141
DataReader 클래스 사용 ... 142
XmlReader ... 142
XmlReader 속성 ... 143
XmlReader 메소드 ... 145
XmlReader 개체 선언과 인스턴스 ... 148
XmlReader에 있는 열 읽기 ... 148
XmlReader 닫기 ... 149
DataAdapter 설명 ... 150
DataAdapter 속성 ... 150
DataAdapter 메소드 ... 151
DataAdapter 인스턴스 만들기 ... 152
Command 속성 설정 ... 154
요약 ... 158
CHAPTER 3B. ADO.NET 소개 : 비연결 계층
DataSet 클래스 사용하기 ... 162
Recordset과 DataSet ... 163
DataSet 속성 ... 165
DataSet 메소드 ... 166
DataSet 개체화 ... 170
DataAdapter를 사용한 DataSet 포퓰레이팅(populating) ... 170
DataAdapter를 사용하여 데이터 소스 업데이트 하기 ... 173
DataSet의 데이터 지우기 ... 176
DataSet 복사하기 ... 177
DataSet에 있는 데이터와 다른 데이터 병합시키기 ... 178
DataSet에 있는 데이터 변화 감지하고 조정하기 ... 181
DataSet의 데이터 변화 허가 및 거부 ... 183
DataTable 클래스 사용하기 ... 186
DataTable 속성 ... 186
DataTable 메소드 ... 188
DataTable 선언과 개체화 ... 191
DataTable 만들기 ... 192
DataTabel 포퓰레이팅 ... 193
DataTable의 데이터 지우기 ... 194
DataTable 복사하기 ... 194
DataTable 검색과 필터된 데이터 뷰 보여주기 ... 196
DataView 클래스 사용하기 ... 198
DataView 속성 ... 198
DataView 메소드 ... 199
DataView 선언 및 개체화 ... 200
DataView 검색하기 ... 201
DataRow 클래스 사용하기 ... 202
DataRow 선언 및 개체화 ... 206
DataRow 만들기 ... 206
커서(Cursors) ... 207
커서 타입(Cursor Types) ... 207
커서 위치(Cursor Location) ... 209
COM Interop ... 210
요약 ... 212
CHAPTER 4. 데이터베이스 관점에서의 IDE 소개
서버 탐색기 사용하기 ... 214
테이터 연결 다루기 ... 215
서버 다루기 ... 217
데이터베이스 프로젝트 들여다보기 ... 224
데이터베이스 프로젝트 폴더 만들기 ... 226
데이터베이스 프로젝트 폴더 삭제하기 ... 226
데이터베이스 프로젝트에 데이터베이스 개체 추가하기 ... 227
데이터베이스 디자이너로 데이터베이스 디자인하기 ... 231
데이터베이스 다이어그램 만들기 ... 231
데이터베이스 다이어그램 저장하기 ... 237
테이블 디자이너 사용하기 ... 237
열 추가하기 ... 238
기본 키(Primary Key) 설정하기 ... 239
인덱스와 키 추가하기 ... 239
제약 조건 추가하기 ... 240
관계 만들기 ... 242
쿼리 디자이너로 쿼리 디자인하기 ... 242
쿼리 디자이너 창 알아보기 ... 242
SQL 문법 확인하기 ... 249
쿼리 실행하기 ... 249
다양한 쿼리 형식 시험하기 ... 250
SQL 편집기를 사용하여 스크립트 편집하기 ... 253
SQL 구문을 쿼리 편집기(Query Editor)를 사용하여 만들기 ... 254
스크립트 저장하기 ... 254
스크립트 템플리트 편집하기와 사용하기 ... 255
SQL 스크립트 실행하기 ... 255
Typed Data Sets 만들기 ... 256
Typed Data Set 만들 때, XML 다자이너 사용하기 ... 256
Typed Data Set 만들 때, DataSet 디자이너 사용하기 ... 257
요약 ... 258
CHAPTER 5. 에러 처리
구조적 예외 처리 ... 260
구조적 예외 처리하기 ... 262
일반적인 코드로부터 예외 핸들러 분리하기 ... 262
같은 프로시저 안의 여러 개의 구조적 예외 핸들러 ... 262
Exception 클래스 설명 ... 263
예외 핸들러로 예외 처리하기 ... 264
필터링 ... 270
사용자 정의 예외 생성 ... 272
구조적 예외 발생시키기 ... 273
구조적 예외 처리 종료하기 ... 273
데이터와 관계 있는 예외 처리하기 ... 275
구조적 예외의 CLR 처리 ... 276
비구조적 예외 처리 ... 276
비구조적 예외 처리하기 ... 277
일반 코드로부터 예외 핸들러 분리하기 ... 278
한 프로시저 안에 여러 개의 비구조적 예외 핸들러 ... 278
부모 예외 핸들러 사용하기 ... 280
비구조적 예외 처리 사용하지 않기 ... 281
비구적, 지역적 예외 사용하지 않기 ... 282
예외를 무시하고 실행을 계속 하기 ... 282
예외 핸들러에서 예외 처리하기 ... 283
Err 개체에 대한 설명 ... 284
구조적이지 않은 예외 발생시키기 ... 286
사용자 정의 예외 판별하기 ... 287
DLL에서 발생한 예외 캐치하기 ... 288
데이터와 관계된 예외 처리하기 ... 288
요약 ... 290
CHAPTER 6. 저장 프로시저, 뷰, 그리고 트리거
최적화 이슈 ... 292
저장 프로시저 사용하기 ... 294
왜 저장 프로시저를 사용하는가? ... 294
저장 프로시저의 생성 ... 295
간단한 저장 프로시저 생성 ... 296
IDE를 통한 간단한 저장 프로시저 실행 ... 298
코드로부터 간단한 저장 프로시저 실행 ... 299
인자를 갖는 저장 프로시저 생성 ... 301
IDE로부터 인자가 있는 저장 프로시저 실행 ... 302
인자가 있는 저장 프로시저 사용하기 ... 302
인자와 반환값을 갖는 저장 프로시저의 생성 ... 303
IDE로부터 인자와 반환값을 갖는 저장 프로시저 실행 ... 304
인자와 반환값을 갖는 저장 프로시저 사용 ... 305
RETURN에서 지정된 값 얻어오기 ... 306
저장 프로시저의 이름 변경 ... 308
뷰(view) 사용하기 ... 308
뷰(view)의 제한 ... 308
왜 뷰를 사용하는가? ... 309
뷰 생성 ... 309
IDE를 통한 뷰 실행 ... 311
코드로부터 뷰 사용 ... 311
트리거 사용하기 ... 315
왜 트리거를 사용하는가? ... 316
트리거 생성 ... 317
요약 ... 322
CHAPTER 7. 위계적인 데이터베이스
LDAP 소개 ... 323
액티브 디렉토리 살펴보기 ... 324
액티브 디렉토리에 프로그램을 이용하여 접근하기 ... 325
System.DirectoryServices 네임스페이스 ... 325
DirectoryEntry 클래스 ... 326
액티브 디렉토리에 있는 개체 찾기 ... 331
개체 속성값 조작 ... 334
OLE DB. NET 데이터 프로바이더를 이용하여 액티브 디렉토리에 접근하기 ... 337
Connection을 위한 OLE DB Provider 설정 ... 337
LDAP 프로토콜을 이용한 도메인 접근 ... 338
액티브 디렉토리로부터 자료를 받아오기 위한 설정 ... 338
액티브 디렉토리 개체 업데이트 ... 339
사용자를 위한 SID 인출 ... 339
요약 ... 341
CHAPTER 8. 메시지 대기열(Queues)
비연결지향 프로그래밍(Connectionless Programming) ... 344
메시지 대기열 클래스 살펴보기 ... 344
메시지 대기열은 언제 사용하는가? ... 345
어떻게 메시지 대기열을 사용하는가? ... 347
개인 대기열(Private Queue)과 공개 대기열 (Public Queue) ... 347
프로그래밍적으로 대기열 생성하기 ... 348
메시지 대기열의 속성 표시 및 변경 ... 349
메시지 대기열 연결 ... 352
메시지 보내기 ... 354
메시지 얻기 ... 355
메시지 피킹 ... 359
대기열로부터 특정한 메시지 가져오기 ... 360
비동기적으로 메시지 보내고 얻기 ... 362
대기열로부터 메시지 지우기 ... 364
메시지 우선순위 ... 365
메시지 대기열 위치하기 ... 367
메시지 대기열 제거하기 ... 370
메시지 대기열을 트랜잭션으로 만들기 ... 371
내부(Internal) 트랜잭션 ... 372
외부(External) 트랜잭션 ... 372
트랜잭션 메시지 대기열 만들기 ... 372
트랜잭션 시작하기 ... 373
트랜잭션 끝내기 ... 374
트랜잭션 넘기기 ... 374
트랜잭션 취소하기 ... 374
MessageQueueTransaction 클래스 사용하기 ... 375
시스템에서 만들어진 대기열 찾기 ... 377
업무 일지 메시지 공간 사용하기 ... 378
메시지 대기열 보안 ... 379
인증(Authenticate) 사용하기 ... 380
암호화 사용하기 ... 383
액세스 컨트롤 사용하기 ... 386
감사(Auditing) 사용하기 ... 388
요약 ... 390
CHAPTER 9. Data Wrappers
데이터 랩퍼(Wrapper)를 사용하는 이유 ... 392
개체지향 프로그래밍 소개 ... 392
다형성(Polymorphism) ... 392
상속성(Inheritance) ... 393
은닉성(Encapsulation) ... 396
개체지향 프로그래밍과 관련된 Visual Basic .NET 키워드 ... 396
Wrapping a Database ... 400
CUser 클래스 만들기 ... 400
요약 ... 404
CHAPTER 10. 데이터 바운드 컨트롤
데이터 바운드 컨트롤과 수동 데이터 연결 ... 405
다른 UI를 위한 다른 컨트롤 ... 407
Windows Forms로 데이터 바운드 컨트롤 사용하기 ... 407
Web Forms로 데이터 바운드 컨트롤 사용하기 ... 423
요약 ... 429
PART Ⅲ. 예제 어플리케이션
CHAPTER 11. User Man 예제 어플리케이션 마무리 짓기
UserMan Information 확인 ... 434
개체 발견하기 ... 434
Database 개체 ... 434
액티브 디렉토리 개체 ... 445
다른 개체들 ... 446
Client 만들기 ... 447
윈도우 Client 만들기 ... 447
Web Client 만들기 ... 447
팁과 아이디어 ... 447
데이터베이스 제안 ... 448
일반적인 제안 사항 ... 449
요약 ... 450
찾아보기 ... 451
더보기 닫기