3-Tier 게시판만들기 (Mssql,오라클 공통 Select, Save,Delete구현)
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);
}
//오라클용 추가 끝----------------------------------------------------------------------------------
테스트 자료를 올려 놓도록 한다.
이번시간에도 사용자코드에서 명시적으로 Get, Set은 사용되지 않았다.
다음시간에는
1. 엔터프라이즈 라이브러리에 포함된 위 오라클추가용 소스를 사용자 Core로 이동시키고 엔터프라이즈LIB소스는 초기상태로 돌려 놓는다.
2. BIZ단에 트랙잭션을 걸고, SAVE와 DELETE는 이곳을 거치도록 한다.
3. Get, Set 을 사용할 부분(로그인) 부분을 구현해 본다.