SAMPLE2701
| URLコピー |
複数DB接続で異なるデータベースから取得したテーブルの値を、同じブロックに出力する方法
開発のポイント
TALONではJavaScriptエンジンを使用して以下のような機能を設定する事が可能です。
1)指定した複数DB接続のデータベースに対してSQLを実行する事ができます。
2)SQL(SELECT文)で取得した値を、指定したブロックの値として転記する事ができます。
この機能を利用し、複数DB接続先のデータを画面に表示します。
サンプルソース(検索後JavaScriptで複数DB接続先のテーブルを参照し同一レコードとして画面に表示する)
function exec() {
//◆値をセットした画面のブロック情報を取得(ブロック1)
var blockSelectMap = TALON.getBlockData_Card(1);
if(blockSelectMap != null){
//◆複数DB接続で設定した接続先でデータを抽出(SELECT文)を実行
var sql = "SELECT Name FROM TestCollection WHERE ITEM_CODE = '" + blockSelectMap['ITEM_CODE'] + "' ";
var selectList = TalonDbUtil.select( TALON.getOtherDBConn("1") , sql );
var selectMap = selectList[0];
//◆SELECTで取得したデータとブロックのデータで、画面に出力したデータを作成
var margeData = {
'ITEM_CODE' : blockSelectMap['ITEM_CODE'],
'ITEM_NM' : blockSelectMap['ITEM_NM'],
'SMPL_ITEM_KBN' : blockSelectMap['SMPL_ITEM_KBN'],
'ITEM_SIZE' : blockSelectMap['ITEM_SIZE'],
'SMPL_SIZE_KBN' : blockSelectMap['SMPL_SIZE_KBN'],
'NAME' : selectMap['Name']
};
var arr = [margeData];
//◆作成した出力用のデータをブロックにセットする(ブロック1)
TALON.setSearchedDisplayList(1,arr);
}
}
//処理開始
exec();