WSMGR for Webサーバに登録したリソースファイルの定義から、データを取得するためのオブジェクトです。
| メソッド名 | 機能 | 
|---|---|
| beginTransaction | トランザクションの開始 | 
| close | 接続中データベースとの切断 | 
| commit | トランザクションのコミット | 
| executeQuery | 指定されたSQL文(SELECT)の実行 | 
| executeUpdate | 指定されたSQL文(UPDATE、DELETE、INSERT)の実行 | 
| getResultList | テーブルデータの取得 | 
| setParameter | リソースファイルからデータ取得時に指定するバインド変数を指定 | 
| open | 指定されたデータベースへの接続 | 
| rollback | トランザクションのロールバック | 
トランザクションの開始
データベーストランザクションを開始します。
●呼び出し形式
beginTransaction()
●パラメータ
ありません
●リターン値
関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●実行結果オブジェクト
| プロパティ/ | 設定値 | 説明 | 
|---|---|---|
| result | true:正常 | 関数呼び出し結果が設定されます。 | 
| error | エラーオブジェクト | トランザクションの開始でエラーが発生した場合に設定されます。 | 
| error.SQLState | エラーコード | データベースのエラーコード | 
| error.NativeError | エラー情報 | データソース固有のエラーコード | 
| error.Source | ドライバー名 | エラーが発生したドライバー名 | 
●JavaScriptを用いて記述した例
executeUpdateメソッドを参照してください。
接続中データベースとの切断
データベースとの接続を閉じます。
保留中のトランザクションはロールバックされます。
●呼び出し形式
close()
●パラメータ
ありません
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合は、falseを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●JavaScriptを用いて記述した例
openメソッドを参照してください。
トランザクションのコミット
データベーストランザクションをコミットします。
●呼び出し形式
commit()
●パラメータ
ありません
●リターン値
関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●実行結果オブジェクト
| プロパティ/ | 設定値 | 説明 | 
|---|---|---|
| result | true:正常 | 関数呼び出し結果が設定されます。 | 
| error | エラーオブジェクト | トランザクションのコミットでエラーが発生した場合に設定されます。 | 
| error.SQLState | エラーコード | データベースのエラーコード | 
| error.NativeError | エラー情報 | データソース固有のエラーコード | 
| error.Source | ドライバー名 | エラーが発生したドライバー名 | 
●JavaScriptを用いて記述した例
executeUpdateメソッドを参照してください。
SQL文の実行
指定されたSQL文(SELECT)を実行します。
●呼び出し形式
executeQuery(sqlKey)
●パラメータ
| パラメータ | 説明 | 省略時の初期値 | 
|---|---|---|
| sqlKey | 「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定します。 | 省略できません | 
●リターン値
関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●実行結果オブジェクト
| プロパティ/ | 設定値 | 説明 | 
|---|---|---|
| result | true:正常 | 関数呼び出し結果が設定されます。 | 
| length | 行数 | 実行したSQL文で取得したテーブルの行数が設定されます。 | 
| table | テーブルデータ | 取得したデータが2次元配列で設定されます。 | 
| error | エラーオブジェクト | SQL文(SELECT)の実行エラーが発生した場合に設定されます。 | 
| error.SQLState | エラーコード | データベースのエラーコード | 
| error.NativeError | エラー情報 | データソース固有のエラーコード | 
| error.Source | ドライバー名 | エラーが発生したドライバー名 | 
●JavaScriptを用いて記述した例
openメソッドを参照してください。
SQL文の実行
指定されたSQL文(UPDATE、DELETE、INSERT)を実行します。
●呼び出し形式
executeUpdate(sqlKey)
●パラメータ
| パラメータ | 説明 | 省略時の初期値 | 
|---|---|---|
| sqlKey | 「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定します。 | 省略できません | 
●リターン値
関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●実行結果オブジェクト
| プロパティ/ | 設定値 | 説明 | 
|---|---|---|
| result | true:正常 | 関数呼び出し結果が設定されます。 | 
| length | 行数 | SQL文の実行で影響を受ける行数が設定されます。 | 
| error | エラーオブジェクト | SQL文(UPDATE、DELETE、INSERT)の実行エラーが発生した場合に設定されます。 | 
| error.SQLState | エラーコード | データベースのエラーコード | 
| error.NativeError | エラー情報 | データソース固有のエラーコード | 
| error.Source | ドライバー名 | エラーが発生したドライバー名 | 
●JavaScriptを用いて記述した例(データベースにデータを追加)
WsmgrDataAccess.iniの記述
[SQL]
SQL1= INSERT INTO 発注表 (取引先, 取引製品, 仕入価格, 発注数量) VALUES (?, ?, ?, ?)
ユーザスクリプトファイルの記述
var dspemu = new WsmgrDspemu();
dspemu.db.open('Symfoware'); // データベース接続
// SQL1のバインド変数を指定
dspemu.db.setParameter();
dspemu.db.setParameter('取引先', 75); 
dspemu.db.setParameter('取引製品', 400); 
dspemu.db.setParameter('仕入価格', 125000); 
dspemu.db.setParameter('発注数量', 50);
// トランザクションの開始
dspemu.db.beginTransaction();
// SQL文の実行
var ret = dspemu.db.executeUpdate('SQL1');
if (ret.result) {
    // 成功
    dspemu.db.commit();
} else {
    // エラー
    dspemu.db.rollback();
}
dspemu.db.close(); // データベース切断●JavaScriptを用いて記述した例(データベースのデータを更新)
WsmgrDataAccess.iniの記述
[SQL]
SQL1= UPDATE 発注表 SET 発注数量 = ? WHERE 取引先 = ? AND 取引製品 = ?
ユーザスクリプトファイルの記述
var dspemu = new WsmgrDspemu();
dspemu.db.open('Symfoware'); // データベース接続
// SQL1のバインド変数を指定
dspemu.db.setParameter();
dspemu.db.setParameter('発注数量', 50);
dspemu.db.setParameter('取引先', 61);
dspemu.db.setParameter('取引製品', 215);
// トランザクションの開始
dspemu.db.beginTransaction();
// SQL文の実行
var ret = dspemu.db.executeUpdate('SQL1');
if (ret.result) {
    // 成功
    dspemu.db.commit();
} else {
    // エラー
    dspemu.db.rollback();
}
dspemu.db.close(); // データベース切断テーブルデータの取得
指定先よりテーブルデータを取得します。
●呼び出し形式
getResultList(connectionName, sqlKey, hasHeader)
●パラメータ
| パラメータ | 説明 | 省略時の初期値 | 
|---|---|---|
| connectionName | 「dataProvider.config」に設定したデータ接続文字列名を指定 | |
| sqlKey | 「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定 | |
| hasHeader | true:1行目をヘッダ行とみなす | 
●リソースファイル
本メソッドにより参照するリソースファイルは次の固定名のファイルです。ファイルごとに用途や形式が異なります。
| ファイル名 | 用途 | ファイルの形式 | 
|---|---|---|
| dataProvider.config | .NET Frameworkのデータプロバイダにより、RDB、またはCSVファイルへ接続するためのデータ接続文字列名を指定 | XMLファイル形式 | 
| WsmgrDataAccess.ini | 「dataProvider.config」で指定するデータストアよりデータを取得するためのSQLを記述 | iniファイル形式 | 
WSMGR for Webをインストールすると、下記フォルダにリソースファイルの雛型がインストールされます。リソースファイルを使用する場合はこのファイルを編集してください。
リソースファイルの場所:<WSMGR for Webインストールフォルダ>\wwwroot\userconfig
●リターン値
関数呼び出しが成功すると取得したテーブルデータを返します。エラーの場合はnullを返します。エラーの詳細はgetErrorメソッドにより取得できます。
hasHeaderの指定により1行目に取得されるデータが異なります。すでにTableプロパティにヘッダを設定している場合はヘッダ行を除いたデータを取得し、addDataメソッドを用いてTableプロパティに追加することが可能です。
| テーブル上の行 | 値の形式 | 説明 | 
|---|---|---|
| 1行目 | [0][1~n] | hasHeaderの指定にtrueを指定した場合はヘッダとしてDBのカラム名を取得、falseを指定した場合は指定したキーの設定値を取得 | 
| 2行目以降 | [n][1~n] | 指定したキーの設定値 | 
キー名と値の文字列は自由に指定できます。
フォーマットは次のとおりです。
dataProvider.config
.NET Frameworkのデータプロバイダにより接続先を指定するXMLファイル形式のリソースファイルです。ご利用の環境に合わせ各項目を編集してください。
| XMLキー名 | 設定する要素 | 
|---|---|
| name | getResultListメソッドのconnectionNameパラメータに指定するデータ接続文字列名 | 
| connectionString | RDB、またはCSVファイルへアクセスするために必要な接続文字列 | 
| providerName | データストアへのアクセスに使用するADO.NETプロバイダ名 | 
providerNameに指定する値
| 値 | 説明 | 
|---|---|
| System.Data.SqlClient | Microsoft SQL Serverに接続する場合に指定してください。 | 
| System.Data.OleDb | OLE DBを使用して公開されるデータソースの場合に指定してください。 | 
| System.Data.Odbc | ODBCを使用して公開されるデータソースの場合に指定してください。 | 
| System.Data.OracleClient | Oracleのデータソースの場合に指定してください。 | 
<add name="MySqlServer"
     connectionString="server=myserver;database=Customers;uid=Use1r;pwd=user1-pwd1"
     providerName="System.Data.SqlClient"
/>WsmgrDataAccess.ini
iniファイル形式のリソースファイルです。ご利用の環境に合わせ各項目を編集してください。
| キー名 | 設定値 | 
|---|---|
| GetTableDataメソッドのSqlKeyパラメータに指定するキー名(任意の文字列) | データストアよりデータを取得するためのSQL文 | 
SQLキー1=select * from Customers SQLキー2=select * from Goods
●JavaScriptを用いて記述した例
WsmgrDataAccess.iniの記述
[SQL]
SQL1=select 氏名 from 社員DB WHERE 所属 = ? AND AGE = ?
ユーザスクリプトファイルの記述
var dspemu = new WsmgrDspemu();
dspemu.db.setParameter(1, "営業部");
dspemu.db.setParameter(2, 35);
dspemu.db.getResultList("MSAccess", "SQL1", false);バインド変数を指定
リソースファイルからデータ取得時に指定するバインド変数を指定します。
●呼び出し形式
setParameter(name, value)
●パラメータ
| パラメータ | 説明 | 省略時の初期値 | 
|---|---|---|
| name | バインド変数名を指定 | パラメータ省略時を参照 | 
| value | バインド変数値を指定 | 
●パラメータ省略時
パラメータをすべて省略した場合はすべてのバインド変数を削除します。nameのみ指定した場合は対象のバインド変数を削除します。
参考
サーバ上の「WsmgrDataAccess.ini」で、SQLSectionにバインド機構を指定した場合に有効なパラメータです。一般的なデータベースでは、SQLにエクスキューション「?」を使用したバインド機構が使用できます。
バインド機構を使用すると、あらかじめSQLのひな形を用意し、後から必要に応じて動的に値を割り当てることができます。この動的に割り当てる値をバインド変数と呼びます。
●リターン値
関数呼び出しが成功するとtrueを返します。エラーの場合はfalseを返します。
●JavaScriptを用いて記述した例
WsmgrDataAccess.iniの記述
[SQL]
SQL1=SELECT 氏名 FROM 社員DB WHERE 所属 = ? AND AGE = ?
ユーザスクリプトファイルの記述 var dspemu = new WsmgrDspemu(); dspemu.db.setParameter(1, "営業部"); dspemu.db.setParameter(2, 35);
指定されたデータベースへの接続
指定されたデータベースへ接続します。
●呼び出し形式
open(connection)
●パラメータ
| パラメータ | 説明 | 省略時の初期値 | 
|---|---|---|
| connection | 「dataProvider.config」に設定した接続文字列名を指定します。 | 省略できません | 
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合は、falseを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●JavaScriptを用いて記述した例
WsmgrDataAccess.iniの記述
[SQL]
SQL1=SELECT 在庫数量, 倉庫番号 FROM在庫表 WHERE 製品番号 = ?
ユーザスクリプトファイルの記述
var dspemu = new WsmgrDspemu();
dspemu.db.open('Symfoware'); // データベース接続
// SQL文の実行
var ret = dspemu.db.executeUpdate('SQL1'); 
dspemu.db.close(); // データベース切断
if (ret.result) {
    // データ参照処理を記述
    for (var i = 0; i < ret.length; i++) {
        var zaiko = ret.table[i][0];
        var soko = ret.table[i][1];
        // ...
    }
}トランザクションのロールバック
データベーストランザクションをロールバックします。
●呼び出し形式
rollback()
●パラメータ
ありません
●リターン値
関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。
●実行結果オブジェクト
| プロパティ/ | 設定値 | 説明 | 
|---|---|---|
| result | true:正常 | 関数呼び出し結果が設定されます。 | 
| error | エラーオブジェクト | トランザクションのロールバックでエラーが発生した場合に設定されます。 | 
| error.SQLState | エラーコード | データベースのエラーコード | 
| error.NativeError | エラー情報 | データソース固有のエラーコード | 
| error.Source | ドライバー名 | エラーが発生したドライバー名 | 
●JavaScriptを用いて記述した例
executeUpdateメソッドを参照してください。