Database.ResultSet
説明
データベースSQLクエリの結果を取得するクラスです。
Database.ResultSetは、Database.Connection.query()およびDatabase.PreparedStatement.execute()によって返されます。このクラスは、SQLクエリ実行に関連付けられた結果データを取得するメソッドおよびプロパティを提供します。
Database.Connection con = Database.Connection("DBConnector1");
con.connect();
Database.ResultSet result = con.query("SELECT * FROM customers");
while (result.fetchNext()) {
string firstName = result["FirstName"];
string lastName = result["LastName"];
for (int j = 1; j <= result.numFields; j++) {
Variant column1Value = result[j];
...
}
...
}
con.disconnect();
Database.ResultSetは順方向カーソルを実装します。これによって、結果を一度だけ走査できるようになります。この走査は、fetchNext()を使用して手動で実行するか、もしくはcloneTo()を使用してデータをテーブルにダンプすることで自動で実行できますが、両方を同時に実行することはできません。言い換えると、cloneTo()によって結果をクローンしてからfetchNext()を使用して走査する、といったことはできません。
プロパティ
numFields | 結果セットのフィールド数。 |
メソッド
cloneTo | 結果セットを宛先テーブルにクローンします。 |
fetchNext | カーソルを結果の1レコード分順方向に移動します。 |
getFieldName | 結果列の名前をインデックスで取得します。 |
演算子
[] | 名前またはランクによって結果フィールド値を取得します。 |
詳細
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Database.ResultSet.cloneTo()
void cloneTo( Table destTable ) |
説明
結果セットを宛先テーブルにクローンします。
Database.Connection con = Database.Connection("DBConnector1");
con.connect();
con.query("SELECT * FROM customers").cloneTo(Table("Customers"));
con.disconnect();
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Database.ResultSet.fetchNext()
int fetchNext( ) |
戻り値
int | 成功した場合に1、結果セットの末尾に到達した場合に0を返します。 |
説明
カーソルを結果の1レコード分順方向に移動します。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Database.ResultSet.getFieldName()
string getFieldName( int fieldNum ) |
パラメータ
fieldNum | フィールドのインデックス。 |
戻り値
string | 指定インデックスのフィールドの名前。 |
説明
結果列の名前をインデックスで取得します。
Array fields;
Database.Connection db = Database.Connection("DatabaseConnector1");
db.connect();
var resultSet = db.query("SELECT * FROM customers");
for (int i = 1; i <= resultSet.numFields; i++) {
fields.push(resultSet.getFieldName(i));
}
db.disconnect();
return fields;