상세 컨텐츠

본문 제목

3-Tier 게시판만들기 (Mssql,오라클 공통 Select, Save,Delete구현)

사용하지 않는기술/엔터프라이즈LIB

by 김일국 2012. 4. 4. 16:27

본문

Data 엔터프라이즈 라이브러리에 추가되는 핵심코드

위치 : EntLib50Src\Blocks\Data\Src\Data\Sql\Database.cs

(엔터프라이즈LIB 설치(Enterprise Library 5.0 Optional Update 1.msi 파일)하면 나오는 부분 중에서

현재 테스트로 프로젝트에 추가한 위치를 가리킵니다. 사용자에 따라서 위치가 틀릴 수 있음)

오라클 타입별로 호출되는 Command가 Mssql 과 Oracle 로 분기된다.

//오라클용 추가 시작----------------------------------------------------------------------------------
        public void AddParameterOracle(OracleCommand command, string name, OracleType oracleType, int size,
            ParameterDirection direction, bool nullable, byte precision, byte scale, string sourceColumn,
            DataRowVersion sourceVersion, object value)
        {
            if (command == null) throw new ArgumentNullException("command");

            OracleParameter param = CreateParameter(name, DbType.AnsiString, size, direction, nullable, precision, scale, sourceColumn, sourceVersion, value) as OracleParameter;
            param.OracleType = oracleType;
            command.Parameters.Add(param);
        }

        public void AddInParameter(DbCommand command,
                                         string name,
                                         OracleType OracleType,
                                         object value)
        {
            AddParameterOracle((OracleCommand)command, name, OracleType, 0, ParameterDirection.Input, true, 0, 0, String.Empty, DataRowVersion.Default, value);
        }

        public void AddOutParameter(DbCommand command,
                                    string name,
                                    OracleType OracleType
                                    )
        {
            AddParameterOracle((OracleCommand)command, name, OracleType, 0, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, DBNull.Value);
        }

        public void AddOutParameter(DbCommand command,
                                    string name,
                                    OracleType OracleType,
                                    int size
                                    )
        {
            AddParameterOracle((OracleCommand)command, name, OracleType, size, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, DBNull.Value);
        }
        //오라클용 추가 끝----------------------------------------------------------------------------------

 

테스트 자료를 올려 놓도록 한다.

 

오라클_ENT_BOARD.sql

 

MSSQL_ENT_BOARD.sql

 

EnterpriseLib.zip

 

이번시간에도 사용자코드에서 명시적으로 Get, Set은 사용되지 않았다.

다음시간에는

1. 엔터프라이즈 라이브러리에 포함된 위 오라클추가용 소스를 사용자 Core로 이동시키고 엔터프라이즈LIB소스는 초기상태로 돌려 놓는다.

2. BIZ단에 트랙잭션을 걸고, SAVE와 DELETE는 이곳을 거치도록 한다.

3. Get, Set 을 사용할 부분(로그인) 부분을 구현해 본다.

오라클_ENT_BOARD.sql
0.0MB
MSSQL_ENT_BOARD.sql
0.01MB
EnterpriseLib.zip
1.55MB

관련글 더보기

댓글 영역