DataTable列管理系¶
| 関数名 | 引数 | 戻り値 |
|---|---|---|
DT_COLUMN_ADD | string, string(, any, int) | int |
DT_COLUMN_EXIST | string, string | int |
DT_COLUMN_REMOVE | string, string | int |
DT_COLUMN_LENGTH | string | int |
DT_COLUMN_OPTIONS | string, string, keyword, any([,keyword, any] ...) | 無し |
DT_COLUMN_NAMES | string(, ref string[]) | int |
API
int DT_COLUMN_ADD dataTableName, columnName(, type, nullable)
int DT_COLUMN_EXIST dataTableName, columnName
int DT_COLUMN_REMOVE dataTableName, columnName
int DT_COLUMN_LENGTH dataTableName
int DT_COLUMN_OPTIONS dataTableName, columnName, option, optionValue([, option, optionValue] ...)
int DT_COLUMN_NAMES dataTableName(, outputArray)
DataTable(データベース,DataTableクラスを基づき)の列を操作する関数です。
DT_COLUMN_ADD:dataTableNameに対応するDataTableに列columnNameを追加します。columnNameがすでに存在している場合,0を返す,成功した場合,1を返します。typeで列に格納される値の型を指定できます。1(整数) /int8(文字列):8ビットの符号付き整数2(整数) /int16(文字列):16ビットの符号付き整数3(整数) /int32(文字列):32ビットの符号付き整数4(整数) /int64(文字列):64ビットの符号付き整数5(整数) /string(文字列):文字列(デフォルト)
nullableが0以外(デフォルト)の場合、この列の値が空きになれるようにします
DT_COLUMN_EXIST:dataTableNameと同名のDataTableの列columnNameの存否を確認し、存在するなら型に当たる数値(DT_COLUMN_ADDのtypeに参照)を返す。そうでない場合0を返します。DT_COLUMN_REMOVE:dataTableNameと同名のDataTableの列columnNameを削除します。成功した場合,1を返します。DT_COLUMN_LENGTH:dataTableNameに対応するDataTableの列の数を返します。DataTable自体が存在しない場合、-1を返します。DT_COLUMN_OPTIONS:dataTableNameに対応するDataTableの列columnNameのオプションを指定します。optionは大小文字無視。optionがDEFAULT:指定した列のデフォルト値を指定する。
DT_COLUMN_NAMES:dataTableNameに対応するDataTableのすべての列の名前をoutputArrayに順次代入します。outputArrayが省略された場合、RESULTSに順次代入します。列数を返します。
注意
列idを削除することができません。
ヒント
命令、式中関数両方対応しています。DT_COLUMN_OPTIONSは命令のみです。
例
MAIN.ERB
@SYSTEM_TITLE
DT_CREATE "db"
DT_COLUMN_ADD "db", "name"
DT_COLUMN_ADD "db", "height", "int16"
DT_COLUMN_ADD "db", "age", "int16"
DT_COLUMN_OPTIONS "db", "age", DEFAULT, 5
DT_ROW_ADD "db", "name", "Name1", "age", 11, "height", 132
DT_ROW_ADD "db", "name", "Name2", "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
PRINT 列の名前:
FOR LOCAL, 0, DT_COLUMN_NAMES("db")
PRINTFORM %RESULTS:LOCAL%
NEXT
PRINTL
PRINTFORML 列の数:{DT_COLUMN_LENGTH("db")},列「age」の存否:{DT_COLUMN_EXIST("db", "age")}
PRINTFORML %DT_CELL_GETS("db", 1, "name")%の年齢は{DT_CELL_GET("db", 1, "age")}
DT_COLUMN_REMOVE "db", "age"
PRINTFORML 列の数:{DT_COLUMN_LENGTH("db")},列「age」の存否:{DT_COLUMN_EXIST("db", "age")}
ONEINPUT
結果
列の名前:id name height age
列の数:4,列「age」の存否:2
Name2の年齢は5
列の数:3,列「age」の存否:0