ページの先頭行へ戻る
WSMGR for Web V7.2 使用手引書L50
FUJITSU Software

32.4.15 dbオブジェクト

WSMGR for Webサーバに登録したリソースファイルの定義から、データを取得するためのオブジェクトです。

メソッド名

機能

beginTransaction

トランザクションの開始

close

接続中データベースとの切断

commit

トランザクションのコミット

executeQuery

指定されたSQL文(SELECT)の実行

executeUpdate

指定されたSQL文(UPDATE、DELETE、INSERT)の実行

getResultList

テーブルデータの取得

setParameter

リソースファイルからデータ取得時に指定するバインド変数を指定

open

指定されたデータベースへの接続

rollback

トランザクションのロールバック


beginTransaction

トランザクションの開始

データベーストランザクションを開始します。


●呼び出し形式

beginTransaction()

●パラメータ

ありません


●リターン値

関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。


●実行結果オブジェクト

プロパティ/
オブジェクト名

設定値

説明

result

true:正常
false:エラー

関数呼び出し結果が設定されます。

error

エラーオブジェクト

トランザクションの開始でエラーが発生した場合に設定されます。
正常時、またはその他のエラー時はnullが設定されます。
※SymfowareにODBCで接続した場合に、設定されるエラーオブジェクトです。

error.SQLState

エラーコード

データベースのエラーコード

error.NativeError

エラー情報

データソース固有のエラーコード

error.Source

ドライバー名

エラーが発生したドライバー名


●JavaScriptを用いて記述した例

executeUpdateメソッドを参照してください。


close

接続中データベースとの切断

データベースとの接続を閉じます。
保留中のトランザクションはロールバックされます。


●呼び出し形式

close()

●パラメータ

ありません


●リターン値

関数の呼び出しに成功するとtrueを返します。エラーが発生した場合は、falseを返します。エラーの詳細は、getErrorメソッドにより取得できます。


●JavaScriptを用いて記述した例

openメソッドを参照してください。


commit

トランザクションのコミット

データベーストランザクションをコミットします。


●呼び出し形式

commit()

●パラメータ

ありません


●リターン値

関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。


●実行結果オブジェクト

プロパティ/
オブジェクト名

設定値

説明

result

true:正常
false:エラー

関数呼び出し結果が設定されます。

error

エラーオブジェクト

トランザクションのコミットでエラーが発生した場合に設定されます。
正常時、またはその他のエラー時はnullが設定されます。
※SymfowareにODBCで接続した場合に、設定されるエラーオブジェクトです。

error.SQLState

エラーコード

データベースのエラーコード

error.NativeError

エラー情報

データソース固有のエラーコード

error.Source

ドライバー名

エラーが発生したドライバー名


●JavaScriptを用いて記述した例

executeUpdateメソッドを参照してください。


executeQuery

SQL文の実行

指定されたSQL文(SELECT)を実行します。


●呼び出し形式

executeQuery(sqlKey)

●パラメータ

パラメータ

説明

省略時の初期値

sqlKey

「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定します。
WsmgrDataAccess.iniについてはgetResultList関数を参照してください。

省略できません


●リターン値

関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。


●実行結果オブジェクト

プロパティ/
オブジェクト名

設定値

説明

result

true:正常
false:エラー

関数呼び出し結果が設定されます。

length

行数

実行したSQL文で取得したテーブルの行数が設定されます。

table

テーブルデータ

取得したデータが2次元配列で設定されます。
エラー時は、nullが設定されます。

error

エラーオブジェクト

SQL文(SELECT)の実行エラーが発生した場合に設定されます。
正常時、またはその他のエラー時はnullが設定されます。
※SymfowareにODBCで接続した場合に、設定されるエラーオブジェクトです。

error.SQLState

エラーコード

データベースのエラーコード

error.NativeError

エラー情報

データソース固有のエラーコード

error.Source

ドライバー名

エラーが発生したドライバー名


●JavaScriptを用いて記述した例

openメソッドを参照してください。


executeUpdate

SQL文の実行

指定されたSQL文(UPDATE、DELETE、INSERT)を実行します。


●呼び出し形式

executeUpdate(sqlKey)

●パラメータ

パラメータ

説明

省略時の初期値

sqlKey

「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定します。
WsmgrDataAccess.iniについてはgetResultList関数を参照してください。

省略できません


●リターン値

関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。


●実行結果オブジェクト

プロパティ/
オブジェクト名

設定値

説明

result

true:正常
false:エラー

関数呼び出し結果が設定されます。

length

行数

SQL文の実行で影響を受ける行数が設定されます。

error

エラーオブジェクト

SQL文(UPDATE、DELETE、INSERT)の実行エラーが発生した場合に設定されます。
正常時、またはその他のエラー時はnullが設定されます。
※SymfowareにODBCで接続した場合に、設定されるエラーオブジェクトです

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

テーブルデータの取得

指定先よりテーブルデータを取得します。


●呼び出し形式

getResultList(connectionName, sqlKey, hasHeader)

●パラメータ

パラメータ

説明

省略時の初期値

connectionName

「dataProvider.config」に設定したデータ接続文字列名を指定

sqlKey

「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定

hasHeader

true:1行目をヘッダ行とみなす
false:ヘッダ行を設定しない


●リソースファイル

本メソッドにより参照するリソースファイルは次の固定名のファイルです。ファイルごとに用途や形式が異なります。

ファイル名

用途

ファイルの形式

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]

指定したキーの設定値

キー名と値の文字列は自由に指定できます。
フォーマットは次のとおりです。


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

バインド変数を指定

リソースファイルからデータ取得時に指定するバインド変数を指定します。


●呼び出し形式

setParameter(name, value)

●パラメータ

パラメータ

説明

省略時の初期値

name

バインド変数名を指定
バインド変数値の位置を指定する場合は、位置を数値で指定(1~)

パラメータ省略時を参照

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

指定されたデータベースへの接続

指定されたデータベースへ接続します。


●呼び出し形式

open(connection)

●パラメータ

パラメータ

説明

省略時の初期値

connection

「dataProvider.config」に設定した接続文字列名を指定します。
dataProvider.configについてはgetResultList関数を参照してください。

省略できません


●リターン値

関数の呼び出しに成功すると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

トランザクションのロールバック

データベーストランザクションをロールバックします。


●呼び出し形式

rollback()

●パラメータ

ありません


●リターン値

関数の呼び出しが完了すると、実行結果オブジェクトを返します。エラーの詳細は、getErrorメソッドにより取得できます。


●実行結果オブジェクト

プロパティ/
オブジェクト名

設定値

説明

result

true:正常
false:エラー

関数呼び出し結果が設定されます。

error

エラーオブジェクト

トランザクションのロールバックでエラーが発生した場合に設定されます。
正常時、またはその他のエラー時はnullが設定されます。
※SymfowareにODBCで接続した場合に、設定されるエラーオブジェクトです。

error.SQLState

エラーコード

データベースのエラーコード

error.NativeError

エラー情報

データソース固有のエラーコード

error.Source

ドライバー名

エラーが発生したドライバー名


●JavaScriptを用いて記述した例

executeUpdateメソッドを参照してください。