DataTable行管理系¶
| 関数名 | 引数 | 戻り値 |
|---|---|---|
DT_ROW_ADD | string([, string, any] ...) | int |
string, ref string[], ref any[], int | int | |
DT_ROW_SET | string, int, string, any([, string, any] ...) | int |
string, int, ref string[], ref any[], int | int | |
DT_ROW_REMOVE | string, int | int |
string, ref int[], int | int | |
DT_ROW_LENGTH | string | int |
API
a. int DT_ROW_ADD dataTableName, ([, columnName, columnValue] ...)
b. int DT_ROW_ADD dataTableName, columnNames, columnValues, count
a. int DT_ROW_SET dataTableName, idValue, ([, columnName, columnValue] ...)
b. int DT_ROW_ADD dataTableName, idValue, columnNames, columnValues, count
a. int DT_ROW_REMOVE dataTableName, idValue
b. int DT_ROW_REMOVE dataTableName, idValues, count
int DT_ROW_LENGTH dataTableName
DataTable(データベース,DataTableクラスを基づき)の行を操作する関数です。
DT_ROW_ADD:dataTableNameに対応するDataTableに行を追加します。DataTable自体が存在しない場合、-1を返します。- 行を追加し、その行の列
columnNameの値をcolumnValueで代入し、行の列idの値を返します。複数のcolumnName・columnValue組を渡せます。 - 行を追加し、順番に
columnNamesから行名、columnValuesから値を取出し、その行の該当列に値で代入し、最大count回繰り返します。行の列idの値を返します。
- 行を追加し、その行の列
DT_ROW_SET:dataTableNameと同名のDataTableの列idがidValueの行の値を編集します。DataTable自体が存在しない場合、-1を返します。- その行の列
columnNameの値をcolumnValueで代入し、編集した値の数を返します。複数のcolumnName・columnValue組を渡せます。 - 順番に
columnNamesから行名、columnValuesから値を取出し、その行の該当列に値で代入し、最大count回繰り返します。編集した値の数を返します。
- その行の列
DT_ROW_REMOVE:dataTableNameと同名のDataTableの行を削除します。DataTable自体が存在しない場合、-1を返します。- 列
idがidValueの行を削除します。成功した場合、1を返します。 - 順番に列
idがidValuesの要素値に該当列する行を削除し、最大count回繰り返します。成功した場合、削除した行の数を返します。
- 列
DT_ROW_LENGTH:dataTableNameに対応するDataTableの行の数を返します。DataTable自体が存在しない場合、-1を返します。
注意
列idの値を編集することができません。
ヒント
命令、式中関数両方対応しています。
例
MAIN.ERB
@SYSTEM_TITLE
#DIM id
#DIMS columnNames = "age", "height"
#DIM columnValues = 11, 132
DT_CREATE "db"
DT_COLUMN_ADD "db", "name"
DT_COLUMN_ADD "db", "height", "int16"
DT_COLUMN_ADD "db", "age", "int16"
id = DT_ROW_ADD("db", "name", "Name1")
DT_ROW_SET "db", id, columnNames, columnValues, 2
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
PRINTFORML 行数:{DT_ROW_LENGTH("db")}
CALL PRINTL_ROW(0)
DT_ROW_SET "db", id, "age", 0, "height", 50
CALL PRINTL_ROW(0)
ONEINPUT
@PRINTL_ROW(index)
#DIM index
PRINTFORM 第{index+1}行 - 名前:%DT_CELL_GETS("db", index, "name")%
PRINTFORM 年齢:{DT_CELL_GET("db", index, "age")}
PRINTFORML 身長:{DT_CELL_GET("db", index, "height")}
結果
行数:5
第1行 - 名前:Name1 年齢:11 身長:132
第1行 - 名前:Name1 年齢:0 身長:50