PowerBuilder 入門!! ~第2弾データウィンドウとは?~

テクニカルブログ

みなさん、こんにちは!

このブログは、「PowerBuilder ってなに?」「PowerBuilder ってなにができるの?」という疑問に、IT 用語の解説もしつつ、簡単に分かりやすくお答えすることをモットーにしています。

気になる方はぜひ続きを見てみてくださいね。

キャラクター紹介

ねこぴ自己紹介

ねこぴ

PowerBuilder の新キャラクター?
(猫に見えるが)PowerBuilder の先生。
最近のマイブームは毎日違うおつまみで酒を飲むこと。

ちまき自己紹介

ちまき

PowerBuilder をこれから学びたい開発初心者。
最近のマイブームは飼っている熱帯魚の水槽に飾るグッズを選ぶこと。

 

ある日の午後のこと・・・。

ねこぴ自己紹介

え、もう正月から半年経とうとしてるの?

ちまき自己紹介

そうですよー!早いですね。
爽やかな初夏の風に吹かれながら PowerBuilder 勉強第2弾に入りますよ!

ねこぴ余談

キャンプいきたいなー

  

ほんでもってムール貝を甘辛く・・・

ちまき質問

(相変わらずガン無視だな)てことで、 前回は PowerBuilder の概要でしたが、
今回は データウィンドウについて詳しく教えてください!

ねこぴ説明

でーたよ、データウィンドウ!

 

データウィンドウとは?

データベースのデータをさまざまな様式で表現できるもの。

ちまき質問

データベースについては、前回勉強しましたよね。そのデータをさまざまな形で表現できるってどういうことですか?

統合開発環境とは

前回勉強した通りデータはデータベースのテーブル内に格納されるんだけど、その格納されたデータをアプリケーションで利用するときにどうやって表現するか、たとえば表やグラフで表現したいなど場面によってさまざまにゃ。
データウィンドウであれば表現したい様式がテンプレートとして用意されているから、選択するだけで簡単に表現できちゃうにゃ。

ちまき理解

(突然語尾がついた笑)分かりました!

 

前回はデータベースの勉強をしましたが、「じゃあ、そのデータベースのデータってどういう風に使うの?」と思われた方もいらっしゃったと思います。

データベースのデータはアプリケーションを実行しデータ検索をかけた際に、アプリケーション上でたとえばグラフや表などで表されます。

 

グラフや表で表現させるアプリケーションを開発する場合には、アプリケーション上でデータベースの情報を取得して、画面に表示させる方法を決めてセットするなど、大変な時間と労力が必要になるのです・・・。

そんな開発をぱっとできてしまうのが、このデータウィンドウの魅力です!

 

データウィンドウの最大の強み

データウィンドウはデータ操作時に利用する SQL 文をわざわざ記述する必要なく、開発をアシストしてくれるすごいヤツ。

データウィンドウとは

データウィンドウが凄いことは分かったんですが、具体的に使い方を教えていただけますか?

データウィンドウ説明

らじゃもんぬ

 

ではどのようにデータウィンドウを操作するのか詳しく見ていきましょう! と、その前に・・・まずはデータウィンドウを作成するまでの作業方法をご説明しようと思います!

 

PowerBuilder でアプリケーションを開発しようと思い、PowerBuilder IDE を起動しても最初はなにもありません。アプリケーションの開発には土台が必要なのです。

まずはその土台であるワークスペースを作りましょう。

 

PowerBuilder IDE を開き、メニューの「ファイル」から「新規作成」を選ぶと、「新規作成」画面が表示されます。

「ワークスペース」タブの中から「ワークスペース」を選び、[OK] を押します。

ワークスペース作成

するとワークスペースにどんなファイル名を付けて保存するのかを指定できるダイアログが開くので、保存場所を指定し任意の名前を付けてください。

ワークスペース保存

ワークスペースの作成が完了したら、続いてターゲットを作成します。

                                          

「ターゲット」というのは、「PBL」というアプリケーションを構成する部品(オブジェクト)がまとめられている塊があるのですが、その PBL をさらに上位で管理している強者です。

ワークスペースと同じようにメニューの「ファイル」から「新規作成」を選択し「新規作成」画面が表示されたら「ターゲット」タブを選択します。「ターゲット」タブ内には作成したいターゲットのテンプレートが用意されているので、今回は「アプリケーション」が選択されている状態で [OK] を押します。

ターゲット作成

「新規アプリケーションとライブラリの指定」画面に遷移するので、任意の名前を「アプリケーション名」に入力してください。

「アプリケーション名」を入力すると「ライブラリ」と「ターゲット」の保存先とファイル名が自動的にセットされます。ライブラリについては先ほど説明した通り、部品(オブジェクト)がまとめられている塊を管理する場所のことで、拡張子が pbl となります。またターゲットの拡張子は pbt で表されます。

ターゲット名前設定

pbl、pbt の保存先に問題がないことを確認して [完了] を押すと、左側の「システムツリー」と呼ばれるエリアに作成したものが表示されていることが分かります。「システムツリー」のイメージはこちら!

ツリービュー

さらに、メニューの「ファイル」から「新規作成」を選び、「PB オブジェクト」タブから「ウィンドウ」を選択します。 ウィンドウは、アプリケーションの見た目となる画面部分の作成になります。

「ウィンドウ」が選択されている状況で、[OK] を押してください。

PB オブジェクト

そうすると、じゃじゃーん!アプリウィンドウができました。この赤線部分が、実際に完成したアプリを開いた際に表示される部分です。(じゃじゃーん!というほどでもなく寂しい図ですが・・・)

アプリウィンドウ

上記で作成したウィンドウはアプリケーションの大枠になっていて、データベースに接続してウィンドウ上に取得したデータを表示させるには・・・そう、データウィンドウが必要なのです!

 

まだじらすの?と思われるかもしれませんが、データウィンドウを設定する前に DB プロファイルを設定する必要がありますので、それを先に説明させてくださいね!

 

DB プロファイルというのは、データベースへ接続するための設定情報です。開発ではここで作成したプロファイルを使用してデータベースに接続します。設定方法は以下となります。

まずはパワーバーの DB プロファイルをクリックします。

パワーバー

接続できるデータベースの種類が表示されますので、接続したいデータベースを選んで [新規作成] を押してください。※今回は事前に作成した DB プロファイルを使用しているため [編集] を押しています。

DB プロファイル

データベースの情報を入力する項目が出てきますので、必要項目を入れてください。

今回データベースは Oracle を使用したいと思います。さまざまなオプションもありますが PowerBuilder IDE から接続の確認を行う場合は、プロファイル名、サーバ、ログイン ID、パスワードが入っていれば基本 OK です!

ちなみに Oracle データベースを利用する場合は、接続する Oracle のバージョンによって選択するプロファイルが異なるので注意してくださいね。(今回は Oracle 12c に接続しているため ORA Oracle に設定しています。)

DBプロファイル設定

「プレビュー」タブに移動してみると、DB 接続構文内に何やらコードが記述されていますね。実はこれ、データベースとアプリケーションを接続する際に使用するコードになっていて、各タブの設定から自動的に生成されるんです!!すごい便利ですね!!

下の [接続のテスト] を押していただくと、接続のテストを行うことができます。これで DB プロファイルの設定は完了です。

DBプロファイル設定-Oracle

 

ではついに、データウィンドウ作成の説明に移ります!

データウィンドウを作成するには、先ほどからおなじみメニューの「ファイル」から「新規作成」をクリックし「データウィンドウ」というタブを開いてみると、データウィンドウの種類が表示されます。

データウィンドウ新規作成

ここではデータベースから取得したデータを、先ほど作成したウィンドウにどう表示させるのかの種類を選べます。たとえばグラフなら、データベースからとってきたデータをウィンドウ上でグラフの形式で表示させるということになります。

 

今回は、試しに項目を表形式で表示ができる「タブラ」という形式を選択して [OK] を押します。

次に接続するデータソースの種類を選択します。これはどのようにデータベース内のデータを利用するかを選択する画面になります。今回、簡単にデータベースのデータを選択できるように「Quick Select」を選択して [次へ] を押します。

データソースの選択

データベースに定義されているテーブルが左側に表示されますので、使用したいテーブルを選択します。

QuickSelect1

テーブルを選択すると、そのテーブル内に定義されているカラム情報の一覧が表示されます。

今回は employee(従業員)のテーブルを選択しました。

カラムの欄に emp_id(従業員 ID)などテーブルに定義されているカラムが表示されるので、試しに emp_id(従業員 ID)、manager_id(マネージャー ID)、そしてemp_lname(従業員の苗字)を選択すると、画面の下の部分に選択したカラムの情報と条件を入力できるエリアが表示されます。この状態で [OK] を押してみます。

QuickSelect2

以下の画面に進みますのでこのまま [次へ] を押し、最後に [完了] を押すと

色と枠線の選択
作業準備完了 タブラデータウィンドウ

以下の形で表が完成しました。

ではこのデータウィンドウに「d_adr_test」という名前を付けていきます。

豆知識ですが、データウィンドウの名前を付ける際は頭に「d_」を付けるのが PowerBuilder アプリ開発のコーディング規約になっていることが多いので、ぜひ覚えていてくださいね!

デザインタイトル未設定
データウィンドウの保存

これで、一旦データウィンドウの作成が終わりました!

先ほどウィンドウを作成しましたが、そこに早速置いていきましょう!

メニューの「挿入」を押して、プルダウンの「コントロール」にカーソルを合わせると、ウィンドウ内に設置できるボタンなどの項目が確認できます。ここからデータウィンドウを選択してください。

ウィンドウの画面上でクリックすると白い四角が設置されるのですが、この白い四角のようなものがデータウィンドウコントロールとなります。先ほど作成したデータウィンドウはデータウィンドウコントロールの中にセットすることができます。なお、データウィンドウコントロールを選択しカーソルで伸ばしていただくと大きさの調整ができます。

データウィンドウ空白

ここから、右側の「プロパティ」の赤枠で囲まれた部分を押します。

プロパティ

この「プロパティ」を利用して先ほど作成した d_adr_test のデータウィンドウを選択することで、ウィンドウ内の白い枠内にデータウィンドウを表示させることができます。表示させたいデータウィンドウを選択して [OK] を押してください。

データウィンドウプロパティ
アプリ外観

白い枠内に、データベースに定義されている emp_id、 manager_id と emp_lname の情報が出現しました!

もっとわかりやすくするために検索ボタンを置いてみますね。

アプリ外観_検索ボタン

まだまだ作成途中ですが、おそらくこのアプリケーションは実行したときにデータベースに定義されている emp_id(従業員 ID)と manager_id(マネージャー ID)と emp_lname(従業員の苗字)のデータを取得して表示し 、[検索] を押すことでなにかその中からデータを検索するようなアプリケーションというところでしょうか。

 

みなさん、これで話は終わりませんよ?「ふーっ」とかため息はまだ早いですよ?

最後に上記の過程を通して、SQL 文がどうなっているか見たくないですか?え、見たくない?

いや、見せますね!!(無理やり感)

 

システムツリーからデータウィンドウを開きます。次に PowerBuilder IDE 上に表示されているパワーバーから「データソース」を選択してください。

データソースボタン

表示された画面下の「Syntax」タブを開くと・・・

SQL文

SQL 文が自動的に生成されていますね!

 

ただ、このままだとアプリの見た目と DB プロファイルとデータウィンドウの見た目を設定しただけですので、データベースと接続する設定については別途必要です。それはまたお話させてくださいね!

また、SQL 文も自動で生成されますが複数テーブルをまたぐ場合や、自分で編集したいときもあるかと思います。それもまた説明させてください!

 

ちまき気づき

データウィンドウ恐るべし!

 

ですね!

ねこぴおすすめ

このデータウィンドウが PowerBuilder 最大の特長であり、
みなさんにおすすめしたい点だにゃ。

 


それでは、最後におさらいをしましょう。

  • 結論
    • データウィンドウは表示の種類も選べるし、あれ?知らない間に SQL 文もできちゃってるウィンドウ。       

いかがでしたでしょうか?

より詳しく PowerBuilder に関してお知りになりたい方は、 Appeon 社の製品サイトをチェックしてみてください。

「難しい言葉は簡単に、分かりやすく」をモットーに、今後も PowerBuilder についてお伝えしていきたいと思いますので、どうぞよろしくお願いします!

テクニカルブログ 一覧を見る
PowerBuilder マイグレーション