Versions Compared

Key

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

...

Ui text box
typenote

아래 소개된 기능 외의 것은 아직 구현되어 있지 않거나, 올바르게 작동되지 않을 수 있다.
미구현으로 명시된 메서드나 필드를 부르는 경우, NotImplementedException 또는 NotSupportedException 을 발생시킨다.

MachConnection : DbConnection

마크베이스와의 연결을 담당하는 클래스이다. DbConnection 과 같이 IDisposable 을 상속받기 때문에, Dispose() 를 통한 객체 해제나 using() 문을 이용한 객체의 자동 Dispose를 지원한다.

...

필드설명
StateSystem.Data.ConnectionState 값을 나타낸다.
StatusString연결된 MachCommand 로 수행하는 상태를 나타낸다.
Error Message 를 꾸미는 용도로 내부에서 사용되며, 작업이 시작된 상태를 나타내기 때문에 이 값으로 쿼리 상태를 체크하는 것은 적절하지 않다.
Database(미구현)
DataSource(미구현)
ServerVersion(미구현)


MachCommand : DbCommand

MachConnection 을 이용해 SQL 명령 또는 APPEND 를 수행하는 클래스이다.
DbCommand 와 같이 IDisposable 을 상속받기 때문에, Dispose() 를 통한 객체 해제나 using() 문을 이용한 객체의 자동 Dispose를 지원한다.

...

필드설명
Connection /
DbConnection
연결된 MachConnection.
ParameterCollection /
DbParameterCollection
Binding 목적으로 사용할 MachParameterCollection.
CommandText쿼리 문자열.
CommandTimeout

특정 작업 수행 중, 서버로부터 응답을 기다리기까지의 시간.

MachConnection 에 설정된 값을 따르며, 여기서는 값 참조만 할 수 있다.

FetchSize

한번에 서버로부터 Fetch 할 레코드 개수. 기본값은 3000 이다.

IsAppendOpenedAPPEND 작업 중인 경우, Append 가 이미 열려있는지 아닌지를 판단한다.
CommandType(미구현)
DesignTimeVisible(미구현)
UpdatedRowSource(미구현)


MachDataReader : DbDataReader

Fetch 한 결과를 읽어들이는 클래스이다. 명시적으로 생성이 불가능하고 MachCommand.ExecuteDbDataReader() 로 생성된 객체만 사용이 가능하다.

...

필드설명
FetchSize한번에 서버로부터 Fetch 할 레코드 개수. 기본값은 3000 이며 여기서는 수정할 수 없다.
FieldCount결과 컬럼 개수.
this[int ordinal]object GetValue(int ordinal) 와 동일하다.
this[string name]object GetValue(GetOrdinal(name)) 와 동일하다.
HasRows결과가 존재하는지 여부를 나타낸다.
RecordsAffectedMachCommand 의 것과 달리, 여기서는 Fetch Count 를 나타낸다.


MachParameterCollection : DbParameterCollection

MachCommand 에 필요한 파라메터를 바인딩하는 클래스이다.

바인딩한 이후에 수행하게 되면, 해당 값이 같이 수행된다. 

Ui text box
typeinfo

Prepared Statement 개념이 구현되어 있지 않아, Binding 이후 Execute 를 해도 수행 성능은 최초 수행한 것과 같다.


메서드설명
MachParameter
Add(string parameterName, DbType dbType)
파라메터 이름과 타입을 지정해, MachParameter 를 추가한다.
추가된 MachParameter 객체를 반환한다.
int Add(object value)값을 추가한다. 추가된 인덱스를 반환한다.
void AddRange(Array values)단순 값의 배열을 모두 추가한다.
MachParameter
AddWithValue(string parameterName, object value)
파라메터 이름과 그 값을 추가한다.
추가된 MachParameter 객체를 반환한다.
bool Contains(object value)해당 값이 추가되었는지 여부를 판단한다.
bool Contains(string value)해당 파라메터 이름이 추가되었는지 여부를 판단한다.
void Clear()파라메터들을 모두 삭제한다.
int IndexOf(object value)해당 값의 인덱스를 반환한다.
int IndexOf(string parameterName)해당 파라메터 이름의 인덱스를 반환한다.
void Insert(int index, object value)특정 인덱스에, 해당 값을 추가한다.
void Remove(object value)해당 값을 포함한 파라메터를 삭제한다.
void RemoveAt(int index)인덱스에 위치한 파라메터를 삭제한다.
void RemoveAt(string parameterName)해당 이름을 가진 파라메터를 삭제한다.


필드설명
Count파라메터 개수
this[int index]index 번째의 MachParameter 를 나타낸다.
this[string name]파라메터 이름과 일치하는 순서의 MachParameter 를 나타낸다.


MachParameter : DbParameter

MachCommand 에 필요한 파라메터를 바인딩하는 클래스이다.

...

각각 바인딩한 정보를 담는 클래스이다.

특별히 메서드는 지원하지 않는다.

필드설명
ParameterName파라메터 이름
Value
Size값의 크기
Direction

ParameterDirection (Input / Output / InputOutput / ReturnValue)

기본값은 Input 이다.

DbTypeDB Type
MachDbType

MACHBASE DB Type

DB Type 과 다를 수 있다.

IsNullableNULL 가능 여부
HasSetDbTypeDB Type 이 지정되었는지 여부


MachException : DbException

마크베이스에서 나타나는 에러를 표시하는 클래스이다.

에러 메시지가 설정되어 있는데, 모든 에러 메시지는 MachErrorMsg 에서 확인할 수 있다.

...

필드

...

설명

...

languagecsharp

...

int MachErrorCodeMACHBASE 에서 제공하는 에러 코드


MachAppendWriter

MachCommand 를 사용하는 별도의 클래스로 APPEND 를 지원한다.

...

languagecsharp

...

.NET 에서는 이 함수형을 Delegator Function 으로 지정했는데, 그 함수형을 소개한다.


MachAppendException

...

languagecsharp

...

:

...

MachException

MachException 과 동일하지만, 다음 점이 다르다.

...

메서드설명
GetRowBuffer()에러가 발생한 데이터 버퍼를 획득할 수 있다.


MachTransaction

지원하지 않는다.



샘플 코드

...