Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

메서드설명
void CreateParameter() /
void CreateDbParameter()
새로운 MachParameter 를 생성한다.
void Cancel()(미구현)
void Prepare()(미구현)
MachAppendWriter
AppendOpen(aTableName, aErrorCheckCount = 0, MachAppendOption = None)

APPEND 를 시작한다. MachAppendWriter 객체를 반환한다.

  • aTableName : 대상 테이블 이름
  • aErrorCheckCount : APPEND-DATA 로 입력한 레코드 누적 개수가 일치할 때 마다, 서버로 보내 실패 여부를 확인한다.
    말하자면, 자동 APPEND-FLUSH 지점을 정하는 셈이다.
  • MachAppendOption : 현재는 하나의 옵션만 제공하고 있다.
    • MachAppendOption.None : 아무런 옵션도 붙지 않는다.
    • MachAppendOption.MicroSecTruncated : DateTime 객체의 값 입력 시, microsecond 까지만 표현된 값을 입력한다.
      (DateTime 객체의 Ticks 값은 100 nanosecond 까지 표현된다.)
void
AppendData(MachAppendWriter aWriter, List<object> aDataList)

MachAppendWriter 객체를 통해, 데이터가 들어있는 리스트를 받아 데이터베이스에 입력한다.

  • List 에 들어간 데이터 순서대로, 각각의 자료형은 테이블에 표현된 컬럼의 자료형과 일치해야 한다.
  • List 에 들어있는 데이터가 모자라거나 넘치면, 에러를 발생시킨다.
Ui text box

ulong 객체로 시간 값을 표현할 때 주의사항은, MachAppendWriter 를 참고하도록 하자, 단순히 DateTime 객체의 Tick 값을 입력하면 안 된다.
그 값에서, 1970-01-01 을 나타내는 DateTime Tick 값을 제외한 값을 입력해야 한다.


void
AppendDataWithTime(MachAppendWriter aWriter, List<object> aDataList, DateTime aArrivalTime)
AppendData() 에서, _arrival_time 값을 DateTime 객체로 명시적으로 넣을 수 있는 메서드이다.
void
AppendDataWithTime(MachAppendWriter aWriter, List<object> aDataList, ulong aArrivalTimeLong)

AppendData() 에서, _arrival_time 값을 ulong 객체로 명시적으로 넣을 수 있는 메서드이다.

ui-text-box

ulong

객체로 시간 값을 표현할 때 주의사항은, MachAppendWriter 를 참고하도록 하자

값을 _arrival_time 값으로 입력할 때 발생할 수 있는 문제는 위의 AppendData() 를 참고한다.

void AppendFlush(MachAppendWriter aWriter)

AppendData() 로 입력한 데이터들을 즉시 서버로 보내, 데이터 입력을 강제한다.

호출 빈도가 잦을 수록, 성능은 떨어지지만 시스템 오류로 인한 데이터 유실율을 낮출 수 있고 에러 검사를 빠르게 할 수 있다.
호출 빈도가 뜸할 수록, 데이터 유실이 발생할 가능성이 크고 에러 검사가 지연되지만 성능은 크게 올라간다.

void AppendClose(MachAppendWriter aWriter)APPEND 를 마친다. 내부적으로 AppendFlush() 를 호출한 뒤에 실제 프로토콜을 마친다.
int ExecuteNonQuery()

입력받았던 쿼리를 수행한다. 쿼리가 영향을 미친 레코드 개수를 반환한다.

보통 SELECT 를 제외한 쿼리를 수행할 때 사용한다.

object ExecuteScalar()

입력받았던 쿼리를 수행한다. 쿼리 Targetlist 의 첫 번째 값을 객체로 반환한다.

보통 SELECT 쿼리, 그 중에서도 결과가 1건만 나오는 SELECT (Scalar Query) 를 수행해 DbDataReader 없이 결과를 받고자 하는 경우 사용한다.

DbDataReader ExecuteDbDataReader(CommandBehavior aBehavior)

입력받았던 쿼리를 수행해, 해당 쿼리의 결과를 읽어 올 수 있는 DbDataReader 를 생성해 반환한다.

...