...
Ui text box | ||
---|---|---|
| ||
아래 소개된 기능 외의 것은 아직 구현되어 있지 않거나, 올바르게 작동되지 않을 수 있다. |
MachConnection : DbConnection
마크베이스와의 연결을 담당하는 클래스이다. DbConnection 과 같이 IDisposable 을 상속받기 때문에, Dispose() 를 통한 객체 해제나 using() 문을 이용한 객체의 자동 Dispose를 지원한다.
...
필드 | 설명 |
---|---|
State | System.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 이다. |
IsAppendOpened | APPEND 작업 중인 경우, 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 | 결과가 존재하는지 여부를 나타낸다. |
RecordsAffected | MachCommand 의 것과 달리, 여기서는 Fetch Count 를 나타낸다. |
MachParameterCollection : DbParameterCollection
MachCommand 에 필요한 파라메터를 바인딩하는 클래스이다.
바인딩한 이후에 수행하게 되면, 해당 값이 같이 수행된다.
Ui text box | ||
---|---|---|
| ||
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 이다. |
DbType | DB Type |
MachDbType | MACHBASE DB Type DB Type 과 다를 수 있다. |
IsNullable | NULL 가능 여부 |
HasSetDbType | DB Type 이 지정되었는지 여부 |
MachException : DbException
마크베이스에서 나타나는 에러를 표시하는 클래스이다.
에러 메시지가 설정되어 있는데, 모든 에러 메시지는 MachErrorMsg 에서 확인할 수 있다.
...
필드 |
---|
...
설명 |
---|
...
language | csharp |
---|
...
int MachErrorCode | MACHBASE 에서 제공하는 에러 코드 |
MachAppendWriter
MachCommand 를 사용하는 별도의 클래스로 APPEND 를 지원한다.
...
language | csharp |
---|
...
.NET 에서는 이 함수형을 Delegator Function 으로 지정했는데, 그 함수형을 소개한다.
MachAppendException
...
language | csharp |
---|
...
:
...
MachException
MachException 과 동일하지만, 다음 점이 다르다.
...
메서드 | 설명 |
---|---|
GetRowBuffer() | 에러가 발생한 데이터 버퍼를 획득할 수 있다. |
MachTransaction
지원하지 않는다.
샘플 코드
...