目次

監訳者まえがき
はじめに

T部 概要

1章 Oracle Power Objects入門
	1.1 クライアント/サーバコンピューティングの挑戦
	1.2 Oracle Power Objectsとは何か
	1.3 Oracle Power Objectsの基礎知識
		1.3.1 Oracle Power Objectsの開発環境
		1.3.2 Oracle Power Objectsのアプリケーションとフォーム
		1.3.3 Oracle Power Objectsのプロパティ
		1.3.4 Oracle Power Objectsのメソッド
	1.4 Oracle Basic
		1.4.1 基礎知識
		1.4.2 Oracle Basicの変数
		1.4.3 Oracle Basicの関数
		1.4.4 Oracle Basicの参照表記法
		1.4.5 Oracle Basicの条件分岐とループ
	1.5 Version 2の開発者インタフェース
		1.5.1 オブジェクトブラウザ
		1.5.2 「コードエディタ」ウィンドウ
		1.5.3 検索/置換
	1.6 注文入力システム


U部 Oracle Power Objectsとデータ

2章 クライアント側のデータに関する問題
	2.1 クライアント/サーバシステムにおけるデータの利用
	2.2 Oracle Power Objectsにおけるデータのバインド
		2.2.1 コンテナと表
		2.2.2 オブジェクトのバインド
	2.3 カウンタオブジェクト
		2.3.1 カウンタの種類
		2.3.2 カウンタのタイミング
	2.4 マスター/ディテール関係
		2.4.1 マスター表とディテール表のリンク
		2.4.2 リンクされた表の使用例
		2.4.3 マスター/ディテール関係におけるデータの整合性
	2.5 レコードセット
	2.6 レコードセットメソッド
		2.6.1 レコードセット移動メソッド
		2.6.2 レコードセット移動の使用例
		2.6.3 レコードセット中のデータへのアクセス
		2.6.4 レコードセット中のデータの更新
	2.7 共有レコードセット
	2.8 スタンドアロンレコードセット
	2.9 フェッチモード
		2.9.1 「初めに行カウント」の使用例

3章 サーバ側のデータに関する問題
	3.1 セッション
		3.1.1 接続文字列
		3.1.2 接続文字列の種類
		3.1.3 接続のタイミング
		3.1.4 接続文字列の使用例
	3.2 トランザクション
		3.2.1 Oracle Power Objectsのデフォルトのトランザクション処理
		3.2.2 トランザクション関連のメソッド
		3.2.3 クライアント/サーバ間の相互作用
		3.2.4 セッションの使用例
	3.3 トランザクションとロック
		3.3.1 ロック
		3.3.2 オプティミスティックロックとペシミスティックロック
		3.3.3 ロックの使用例
	3.4 トランザクションとRowFetchMode
		3.4.1 RowFetchModeとトランザクションの使用例
	3.5 更新の消失の処理
		3.5.1 CompareOnLock
		3.5.2 CompareOnLockの使用例
	3.6 EXEC SQL
		3.6.1 バインド変数
		3.6.2 EXEC SQLコマンドによるデータの取得
		3.6.3 データ取得のためのEXEC SQLの使用例
		3.6.4 データの書き込みのためのEXEC SQLの使用例

4章 データの移動
	4.1 移行ツールによるデータベースの移行
		4.1.1 データベースの移行
	4.2 ドラッグ&ドロップによるデータの移動
	4.3 選択した行のエクスポート
		4.3.1 アプリケーションからのデータのエクスポート(行全体)
		4.3.2 アプリケーションからのデータのエクスポート(選択した列)
	4.4 ファイルからのデータのインポート
	4.5 インポートエラーの処理
	4.6 フィードバックの提供
	4.7 インポート処理の拡張
		4.7.1 インポート先の表の指定
		4.7.2 ユーザーインタフェースの作成
		4.7.3 lstColumnsリストボックスの値の設定
		4.7.4 lstImportFieldsリストボックスの値の設定
		4.7.5 組み合わせの追加
		4.7.6 組み合わせの保存
		4.7.7 データのインポート
		4.7.8 エラーの処理


V部 全般的な問題

5章 ビルトインメソッド
	5.1 フォームのオープンの例
		5.1.1 呼び出しの実行
		5.1.2 問い合わせの実行
		5.1.3 rptOrderItemsの同期化
	5.2 更新および挿入の例
		5.2.1 ステップ1:TELEPHONEデータフィールドの一部を選択する
		5.2.2 ステップ2:電話番号の変更
		5.2.3 ステップ3:CUSTOMERフィールドへ移動する
		5.2.4 ステップ4:ADDRESS1フィールドへ移動する
		5.2.5 ステップ5:住所の一部をマウスで選択する
		5.2.6 ステップ6:住所の一部を変更する
		5.2.7 ステップ7:ポップアップをクリックする
		5.2.8 ステップ8:クリックして選択する
		5.2.9 ステップ9:ポップアップから移動する
		5.2.10 ステップ10:注文数を入力する
		5.2.11 ステップ11:DISCOUNTフィールドに移動する
		5.2.12 ステップ12:変更をコミットする
		5.2.13 最後の注意事項として

6章 グローバル変数、関数、メニュー
	6.1 Basic変数の有効範囲(スコープ)
		6.1.1 Basicの記号定数
		6.1.2 STATICおよびDIMローカル変数の使用例
	6.2 ユーザー定義のプロパティとメソッド
		6.2.1 ユーザー定義プロパティの使用例
	6.3 メソッドとのコミュニケーション
		6.3.1 ユーザー定義メソッドの使用例
		6.3.2 Child-メソッドを使用してメソッドコードを最小限にする
	6.4 メニュー、ツールバー、ステータス行の実装
		6.4.1 TestCommand( )、DoCommand( )、および継承
		6.4.2 メニューの使用例
		6.4.3 ツールバーの使用例
		6.4.4 ステータス行の使用例

7章 オブジェクトクラスとライブラリ
	7.1 ライブラリ
		7.1.1 ライブラリの使用例
		7.1.2 ユーザー定義プロパティの使用例
		7.1.3 ライブラリの使用例(続き)
	7.2 クラス
		7.2.1 クラスとは何か
		7.2.2 クラスの使用例(clsDeletePushbuttonクラス)
		7.2.3 複合クラスの使用例
		7.2.4 クラスの使用例(clsDataHelpクラス)
		7.2.5 クラスと既存のコードとの統合
	7.3 サブクラス
		7.3.1 サブクラスの使用例
		7.3.2 クラスのメンテナンス
		7.3.3 複合機能を持つクラスの使用例
		7.3.4 クラスの柔軟性の追加
		7.3.5 クラスインスタンスのカスタマイズ


W部 実際のアプリケーションの作成

8章 リスト
	8.1 リストボックス
		8.1.1 Translationプロパティ
		8.1.2 Translationプロパティによる値の変更
	8.2 Version 2のCSListオブジェクト
		8.2.1 CSListオブジェクトの使用例
		8.2.2 CSListコントロールのその他のプロパティおよびメソッド
		8.2.3 CSList OCXの使用上の問題点
	8.3 リストボックスクラス
		8.3.1 リストボックスの内部構造
		8.3.2 リストボックスクラスの使用例
		8.3.3 リストボックスクラスの作成
		8.3.4 リストボックスエントリの追加
		8.3.5 リストボックスエントリの削除
		8.3.6 リストボックスエントリのソート
	8.4 ピックリスト
		8.4.1 ピックリストの実装
		8.4.2 clsPickListクラスの使用例
		8.4.3 ピックリストの機能の補足
	8.5 数量フォームの作成
		8.5.1 frmColorQuantityフォームの呼び出し
		8.5.2 frmColorQuantityフォームの統合
		8.5.3 色の数量の変更
		8.5.4 総数の追加
		8.5.5 メインフォームとの相互作用
		8.5.6 色の数量の書き込み
		8.5.7 frmPickColorsフォームの初期化

9章 レポート
	9.1 Version 2のレポート作成ツールオプション
	9.2 Oracle Power Objectsレポートにおけるビューの使用
	9.3 Oracle Power Objectsレポートライタによるレポートの作成
		9.3.1 ビューの作成
		9.3.2 レポートの作成
		9.3.3 注文レポートのメニューへの追加
	9.4 レポートとQBFフォームとの対応
		9.4.1 QBF問い合わせサポートのためのデータベースの変更
		9.4.2 レポートを制御するユーザー定義メソッドの追加

10章 ドラッグ&ドロップの実装
	10.1 ドラッグ&ドロップのアーキテクチャ
	10.2 マウスメソッド
		10.2.1 MouseDown( x, y, shift )
		10.2.2 MouseMove( x, y, shift )
		10.2.3 MouseUp( x, y, shift )
		10.2.4 MouseOver( x, y, shift )
	10.3 マウスとクリックについて
	10.4 固定オブジェクトへのドロップ
	10.5 繰り返し表示へのドロップ
	10.6 ドラッグ&ドロップの使用例
		10.6.1 フォームの作成
		10.6.2 繰り返し表示の作成
		10.6.3 静的アイコンの作成
		10.6.4 動くアイコンの作成
		10.6.5 静的アイコンの完成
		10.6.6 フォームのインストール
		10.6.7 ヘルプの作成
		10.6.8 完成

11章 アプリケーションのコンパイルとデバッグ
	11.1 アプリケーションのコンパイル
	11.2 展開オプション
	11.3 エラーの発見
		11.3.1 デバッガ入門
		11.3.2 デバッガの使用方法
	11.4 ランタイムデータベースエラーのトラッピング
		11.4.1 DBError( )メソッド
		11.4.2 DBError( )の構文
		11.4.3 DBError( )メソッドの使用例
	11.5 エラーをなくすための設計
		11.5.1 ユーザーエラーの回避


X部 Oracle Power Objectsを超えて

12章 PL/SQL
	12.1 PL/SQLを使用する理由
	12.2 PL/SQLとは何か
	12.3 PL/SQLの構文
	12.4 PL/SQLプログラムの構造
		12.4.1 Header節
		12.4.2 Declaration(宣言)節
		12.4.3 Executable(実行可能)節
		12.4.4 Exception(例外)節
	12.5 パッケージ
	12.6 Oracle Power ObjectsとPL/SQLプロシージャ
		12.6.1 PL/SQLプロシージャの作成
		12.6.2 既存のPL/SQLプロシージャの検索
		12.6.3 PL/SQLプロシージャの呼び出し
		12.6.4 PL/SQLプロシージャの使用

13章 Webの統合
	13.1 インターネットに関して必要な知識
		13.1.1 インターネット
		13.1.2 World Wide Web(WWW)
		13.1.3 Webブラウザ
		13.1.4 Webのトポロジー
	13.2 Oracle Power ObjectsによるWebアクセス
		13.2.1 Webブラウザの統合
		13.2.2 Webからの情報の統合
	13.3 Web中のOracle Power Objects
	13.4 おわりに

付録 Oracle Power Objectsに関する質問と回答
	A.1 データベースとのやり取り
		A.1.1 データ型の問題
		A.1.2 行のフラッシュとロックの戦略
		A.1.3 「Failed to Lock Row」エラー
		A.1.4 挿入した行が表示されない
	A.2 ユーザーインタフェース
		A.2.1 フォームによる問い合わせ(QBF)とツールバー
		A.2.2 モーダルウィンドウのメニュー
		A.2.3 空白のフォームのオープン
		A.2.4 フォームからツールバーを削除する
	A.3 オブジェクトのプロパティ
		A.3.1 FormatMask
		A.3.2 IsDismissBtnが動作しない
	A.4 テクニック
		A.4.1 行を取得せずに行を挿入する
		A.4.2 他の値に基づいてリストボックスの項目を設定する
		A.4.3 Oracle Power Objectsからメールを呼び出す
		A.4.4 MDIを使用しないOracle Power Objectsアプリケーション
		A.4.5 NULLのメソッドを呼び出す
		A.4.6 データ構造
		A.4.7 オブジェクトのインスタンスを列挙する
		A.4.8 グローバルメソッド
		A.4.9 バインドされていないデータの取得
		A.4.10 OnKey( )メソッド
		A.4.11 Oracle Power Objectsのレポートにおける取得データの制限
		A.4.12 ユーザーのカーソル移動の制御
	A.5 繰り返し表示
		A.5.1 繰り返し表示中の値の参照
		A.5.2 繰り返し表示中のチェックボックスへのアクセス
		A.5.3 繰り返し表示中のフィールドにフォーカスをセットする
		A.5.4 繰り返し表示で複数の行を選択する
索引