본문 바로가기

C#.NET

[:::::비연결 Database 접근방법:::::] 데이터베이스 연동 中… [:::::비연결 Database 접근방법:::::] 비연결 DataBase 접근방법의 발생 배경: DataSet과 DataAdapter는 Web Programming 작업에 가장 큰 문제가 되는 DataBase의 과부하 문제에 대한 해결책으로 제시되는 .Net의 새로운 Architecture이다. 연결기반 비연결기반 DataAdapter 연결지향방식의 'Command' Level에 존재하면서 'Connection'으로부터 DataSet을얻어내는 명령을 실행하는 역할을 담당한다. 또한 Database로부터 DataSet에 값을 채우거나 필요로 할 때 데이터베이스로 업데이트가 가능하다. 또한 이를 사용한 작업을 통해 Dataset을 추출할 수 있다. DataSet DataAdapte.. 더보기
OleDb를 이용한 DataBase연결 [:::::OleDb를 이용한 DataBase연결:::::] 목차MSSQL과 OLEDB를 통한 연동MS ACCESS와 OLEDB를 통한 연동ORACLE Server와 OLEDB를 통한 연동 MSSQL과 OLEDB를 통한 연동 개략적 MapNameSpace 추가NameSpace : System.Data & System.Data.OleDb연결문자열strOleConn="Provider=SQLOLEDB.1;Server=localhost;database=mytest; user id=sa; password=dba007$"; or strOleConn="Provider=SQLOLEDB.1;Server=localhost;database=mytest; Integrated Security=SSPI; Initial Catal.. 더보기
DataBase Access 기술동향 :::::[DataBase Access 기술동향]::::: 등장배경 : 처음에는 Data를 Access하는 공통 인터페이스가 존재하지 않았기 때문에 Oracle, IBM, Infomix 같은 각 DB 벤더들이 자신들만의 API 같은 데이터접근 방법을 제공하였다. 그렇기에 DB를 Access 해야 하는 개발자들은 이러한 각 벤더들 각각의 API들에 맞게 학습이 필요하였었다. 그렇기에 이러한 불편을 해결하고자 DB ACCESS 기술이 등장하였다. DB ACCESS 기술의 변천사 : ODBC(Open DataBase Connectivity) 다른 DB 공급업체가 특정 DBMS와 관련된 ODBC 드라이버를 통해 구현하는 API를 제공. 사용자가 만든 프로그램은 이 API를 사용하여 ODBC 드라이버 관리자를 호.. 더보기
Transaction 이용하기 :::::[Transaction 이용하기]::::: 연결 객체의 BeginTransaction 메서드를 호출하면 Transaction이 시작된다. Transaction의 작동순서관련 Namespace 추가Try~ catch 구문 정의연결문자열 생성SqlConnection 객체 생성 및 Open()SqlZConnection 객체의 BeginTransaction()메서드로 트랜잭션 시작처리해야 할 SQL문 처리Commit() or Rollback()수행연결 종료 Conn.Close() Sourceusing System; using System.Collections.Generic; using System.Text; //1.Namespace 추가 using System.Data; using System.Data.. 더보기
MSSQL LOCK :::::[잠금(LOCK)의 크기(범위)]::::: 종류기능RID(ROWID)행단위아무런 인덱스가 없을 때 한 행에 대해 LOCK걸림KEY(INDEX) 인덱스에 대해 LOCK이 걸릴 때PAGE 해당페이지(8KB)의 모든데이터나 인덱스에 LOCKEXTENT 8개의 페이지 모이면 1EXTENT가 되는데 이 EXTENT에 대해서 LOCKTABLE 하나의 테이블에 모든 행 열 인덱스 페이지 EXTENT에 대해서 LOCKDATABASE 전체 DATABASE에 LOCK보통 스키마 변경시 발생 :::::[MSSQL2005 에서 잠금 (LOCK)보기]::::: EXEC SP_LOCK : 서버에걸린모든잠금(LOCK)를보여줌 EXEC SP_LOCK : @@SPID : 실행시킨세션에서걸고있는LOCK정보보여줌 EXEC SP_.. 더보기
:::::[트랜잭션(Transaction)]::::: :::::[트랜잭션(Transaction)]::::: 정의 : 1. 데이터베이스의 논리적 작업 단위 2. 한 개 이상의 DML(DELETE,INSERT,UPDATE)문장은 하나의 트랜잭션으로 구성 3. 하나의 트랜잭션 이전의 커밋(COMMIT)이 일어난후 다음 커밋(COMMIT)이 되거나 ROLLBACK이 일어나기 전까지의 작업 트랜잭션에서 사용되는 용어 : BEGIN TRAN Transaction의 시작 COMIIT TRAN 현재 진행중인 Transaction을 종료하고 모든 변경사항을 저장 ROLLBACK TRAN 현재까지 진행된 Transaction을 종료하고 모든 변경사항 취소 SAVE TRAN Transaction을 저장하고 책갈피처럼 그 위치를 지정 그 위치 전까지 Rollback 시킴 쉬어가.. 더보기
Stored Procedure를 이용한 DB Handling 저장프로시저(SP)를 이용해서 DB 핸들링 하는 기법임 특징 : 빠름 대량의 데이터를 가져올 때 내부적으로 돌리다 보면 복잡한데 그러한 것들을 sql 로 작성해 놓고 매개변수로 가져옴 sp를 이용하기 위해서는 SqlCommand 클래스의 주요속성인 CommandType 을 이용해야 함 속성기능CommandText데이터소스에 실행할 SQL문이나 저장 프로시져를 가져오거나 설정CommandTypeCommandText 속성이 해석될 방법 제시Connection SqlCommand 객체에서 SqlConnection 을 가져올 때 사용ParmatersSqlParmatersCollection 을 가져옴TransactionSqlCommand 가 실행하는 트랜잭션을 가져오거나 설정 - SP를 이용하여 DB를 핸들링 하.. 더보기
클래스 소멸자와 Garbage Collector 클래스 소멸자(Destructor) 객체가 소멸되기 전에 호출되어 객체에 부여된 메모리를 해제하는데 사용. 클래스는 하나의 소멸자만 가진다. 소멸자는 상속이나 오버로드 되지 않는다. 소멸자는 사용자가 호출할 수 없고 Garbage Collector가 자동으로 호출된다. 소멸자 선언 Ex) Class book{ … //소멸자 ~book() { 처리할 Code } } 소멸자는 암시적으로 Finalize() 메서드를 호출해서 Protected override void Finalize() { Try { …처리할 문장; } Finally { Base.Finalize(); } } #class를 생성할 때 가급적이면 빈 destructor를 만들지 않는 것 이 좋음. Garbage Collector(=GC) 더 이상.. 더보기
클래스 멤버로의 접근제한하기 객체지향언어(OOP)는 캡슐화, 상속, 다형성의 3대 특성을 가지고 있는 언어. 캡슐화(Encapsulation) 사용자에게 객체의 내부를 숨기고 외부에 노출된 인터페이스를 통해서 접근 가능하도록 하는 것으로 지난 번 클래스를 선언할 때 각 멤버나 메서드에 Private으로 설정하는 것이 그 대표적인 예라 할 수 있음 상속(Inheritance) 이미 존재하는 클래스가 다른 클래스에게 자신의 멤버를 물려주는 것 다형성(Polymorphism) 여러 개의 형태를 띠는 것. 조금 후에 하겠지만 여러 형태의 클래스 생성자를 보면 그 의미를 이해할 수 있을 것임. Access와 관련된 한정자 한정자 접근가능범위Public어디서나 접근가능Private해당 클래스에서만 접근가능Protected이 멤버는 외부에서는 .. 더보기
NotifyIcon 어플리케이션이 구현될 때, 작업표시줄에 아이콘을 추가시켜주는 방법 이제 프로그램을 실행하면 작업표시줄에 해당 ICON이 표시되는 것을 확인할 수 있다. 더보기