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メソッドを参照してください。