第 7 章 データベース アクセスモジュール
7.1 データベース
7.1.6 UNDO 又は UN-UNDO する
7.1.7 UNDO ブロックを区切る
7.1 データベース
注意
オペレーション中にコマンドターミネータが入力されたとき自動的にUNDOブロックは区切られ る。UNDOブロックを明示的に区切りたい場合にのみ使用する。
【関数名】
DbUnmeset
【機能】
アイテムに名前を付ける。もしアイテムに名前がついていれば新しい名前に変える。
【呼び出し形式】
DbUnmeset(int idptr, const char* name)
【入力引数】
idptr アイテム識別子
name アイテムの名前 (12 文字以内、Null-char terminated)
【返り値】
0 : 正常終了 注意
名前のついたアイテムを削除しても、その時点では削除されたアイテムの名前はまだ消えない。こ れは削除したアイテムをアンドゥして元に戻したとき、名前が復活できるようにするため。
これを避けるには、アイテムを削除する前にそのアイテムの名前を取り除くことが必要。
例
DbUnmeset(1, "PNT001");
【関数名】
Dbnmerel
【機能】
アイテムの名前を削除する。
【呼び出し形式】
int Dbnmerel(int idptr)
【入力引数】
idptr アイテム識別子
【返り値】
7.1.8 アイテム名を付ける
7.1.9 アイテム名を削除
第7章 データベース アクセスモジュール
0 : 正常終了
【関数名】
Dbnmeget
【機能】
アイテムの名前を得る。
【呼び出し形式】
int Dbnmeget(int idptr, char* name)
【入力引数】
idptr アイテム識別子
【出力引数】
name アイテムの名前 (12 文字以内、Null-char terminated)
【返り値】
0 : 正常終了
!0 : 異常終了、またはアイテムに名前がついていない。
例
char name[13];
if (Dbnmeget(1, name)) return;
【関数名】
DbUnmesrh
【機能】
アイテム名からアイテム識別子を得る。
【呼び出し形式】
int DbUnmesrh(const char* name, int* idptr)
【入力引数】
name アイテムの名前 (12 文字以内、Null-char terminated)
【出力引数】
idptr アイテム識別子
7.1.10 アイテム名を取得
7.1.11 アイテム名からアイテム識別子を取得
7.1 データベース
【返り値】
0 : 正常終了
!0 : 異常終了、または該当するアイテムがない。
【関数名】
DbUrdopen
【機能】
アイテムの読み出しのためデータベースをオープンする。
【呼び出し形式】
int DbUrdopen(int uid, int idptr)
【入力引数】
uid データベース参照番号 (1 または 2) idptr アイテム識別子
【返り値】
0 : 正常終了
注意
DbUrdopen でオープンしたデータベース参照番号を DbUrdclose でクローズしないと、その参照番号 を使って他のアイテムを参照することはできない。
例
#include "acadprm.h"
#include "acadusr.h"
#define SLOT 1
int isno, short sr01;
ItmSR srh;
FPOINT rpnt;
DPOINT dpnt;
if (DbUrdopen(SLOT, 1)) return;
while (DbUrdhead(SLOT, &isno, &srh) == 0) { if (srh.typ == SITEOI) {
break;
} else if (srh.typ == SITCATEG) { if (DbUrddata(SLOT, srh.cnt, &sr01)) break;
} else if (srh.typ == SITPOINT) { if (mode == 3) {
if (DbUrddata(SLOT, srh.cnt, &dpnt)) break;
} else {
7.1.12 アイテム読み込みの開始
第7章 データベース アクセスモジュール
if (DbUrddata(SLOT, srh.cnt, &rpnt)) break;
} } }
DbUrdclose(SOLT);
【関数名】
DbUrdhead
【機能】
サブレコードのヘッダを読み出す。
【呼び出し形式】
int DbUrdhead(int uid, int *sno, ItmSR *srh)
【入力引数】
uid データベース参照番号
【出力引数】
sno サブレコードの追い番 srh サブレコードヘッダ
【返り値】
0 : 正常終了
!0 : 異常終了
例
DbUrdopen の例を参照のこと。
【関数名】
DbUrddata
【機能】
サブレコードのデータを読み出す。
【呼び出し形式】
int DbUrddata(int uid, int cnt, void *dat)
【入力引数】
uid データベース参照番号
7.1.13 サブレコードヘッダの読み込み
7.1.14 サブレコードの読み込み
7.1 データベース
cnt サブレコードのデータ数
【出力引数】
dat サブレコードのデータを格納する配列
【返り値】
0 : 正常終了
注意
DbUrdhead により参照したサブレコードのデータを得る。
DbUrdhead で得たサブレコードのデータ数 cnt をそのまま DbUrddata に渡せば、そのサブレコードの データを得る。
例
DbUrdopen の例を参照のこと。
【関数名】
DbUrdclose
【機能】
アイテムの読み出しを終了する。
【呼び出し形式】
int DbUrdclose(int uid)
【入力引数】
uid データベース参照番号。
DbUrdopen でオープンしたデータベース参照番号。
【返り値】
0 : 正常終了
例
DbUrdopen の例を参照のこと。
【関数名】
DbUrdback
【機能】
直前に参照したサブレコードを再度参照させる。
7.1.15 アイテム読み込みを終了
7.1.16 サブレコードを再参照する
第7章 データベース アクセスモジュール
直前のサブレコードに対して有効であり、それより前のサブレコードを再度参照させることはでき ない。
【呼び出し形式】
int DbUrdback(int uid)
【入力引数】
uid データベース参照番号。
【返り値】
0 : 正常終了
【関数名】
Dbvrimax
【機能】
アイテム識別子の最大値 (最後に作成したアイテムの識別子)を得る。
【呼び出し形式】
int Dbvrimax(void)
【返り値】
アイテム識別子の最大値。
【関数名】
Dbvriatr
【機能】
アイテムの属性を得る。
【呼び出し形式】
int Dbvriatr(int idptr, ItmAtr *itmatr)
【入力引数】
idptr アイテム識別子
【出力引数】
itmatr アイテム属性
itmatr->pic : ピクチャ番号 (1 - MAXITMPIC) itmatr->typ : アイテム種類番号 (1 - MAXITMTYP)