Skip to content

DataTable管理系

関数名 引数 戻り値
DT_CREATE string int
DT_EXIST string int
DT_RELEASE string 1
DT_CLEAR string int
DT_NOCASE string, int int

API

int DT_CREATE dataTableName
int DT_EXIST dataTableName
1 DT_RELEASE dataTableName
int DT_CLEAR dataTableName
int DT_NOCASE dataTableName, ignoreCase

DataTable(データベース,DataTableクラスを基づき)の作成、削除、存否確認、データ削除、大小文字無視設定に関する関数です。

  • DT_CREATEdataTableNameを名前としてDataTableを作成します。dataTableNameに対応するDataTableがすでに存在している場合,0を返す,成功した場合,1を返します。
  • DT_EXISTdataTableNameと同名のDataTableの存否を確認し、存在するなら1を返す。そうでない場合0を返します。
  • DT_RELEASEdataTableNameと同名のDataTableを削除します。
  • DT_CLEARdataTableNameに対応するDataTableのすべての行を削除し(列の設定は変化しない)、1を返します。DataTable自体が存在しない場合、-1を返します。
  • DT_NOCASEdataTableNameに対応するDataTableDT_SELECT関数による文字列比較時、大小文字を無視するかを設定します。1を返します。DataTable自体が存在しない場合、-1を返します。
    • ignoreCase0の場合(デファクト値):大小文字を無視しない
    • ignoreCaseが他の値の場合:大小文字を無視する

注意

DataTableが作成あれた後、自動的に列idが追加されます。セーブファイルへ保存するには「XMLMAPDataTableセーブ機能」に参照してください。「タイトル画面へ戻る」かRESETDATAをすると自動的に削除されます。

ヒント

命令、式中関数両方対応しています。

MAIN.ERB
@SYSTEM_TITLE 
    PRINTFORML DataTable「db」の存否:{DT_EXIST("db")}
    DT_CREATE "db"
    PRINTSL RESULT ? "成功した" # "すでに存在している"
    DT_CREATE "db"
    PRINTSL RESULT ? "成功した" # "すでに存在している"

    CALL GEN_DB_DATA

    PRINTFORML DataTable「db」のデータ数:{DT_ROW_LENGTH("db")}行x{DT_COLUMN_LENGTH("db")}列
    PRINTFORML 「name」の頭文字が「n」の列の数:{DT_SELECT("db", "name LIKE 'n%'")}
    DT_NOCASE "db", 1
    PRINTFORML 「name」の頭文字が「n」の列の数:{DT_SELECT("db", "name LIKE 'n%'")}
    DT_CLEAR "db"
    PRINTFORML DataTable「db」のデータ数:{DT_ROW_LENGTH("db")}行x{DT_COLUMN_LENGTH("db")}列

    RESETDATA ; すべてのDataTableが自動的に削除される

    DT_CREATE "db"
    PRINTSL RESULT ? "成功した" # "すでに存在している"
    PRINTFORML DataTable「db」の存否:{DT_EXIST("db")}
    DT_RELEASE "db"
    PRINTFORML DataTable「db」の存否:{DT_EXIST("db")}

    ONEINPUT

@GEN_DB_DATA
    DT_COLUMN_ADD "db", "name"
    DT_COLUMN_ADD "db", "height", "int16"
    DT_COLUMN_ADD "db", "age", "int16"

    DT_ROW_ADD "db", "name", "Name1", "age", 11, "height", 132
    DT_ROW_ADD "db", "name", "Name2", "age", 21, "height", 164
    DT_ROW_ADD "db", "name", "Name3", "age", 18, "height", 159
    DT_ROW_ADD "db", "name", "Name4", "age", 33, "height", 180
    DT_ROW_ADD "db", "name", "Name5", "age", 18, "height", 172
結果
DataTable「db」の存否:0
成功した
すでに存在している
DataTable「db」のデータ数:5行x4列
「name」の頭文字が「n」の列の数:0
「name」の頭文字が「n」の列の数:5
DataTable「db」のデータ数:0行x4列
成功した
DataTable「db」の存否:1
DataTable「db」の存否:0