DirectoOracleAccessを使ってOracleへのログインし、SQL SELECT文の実行結果を、DB対応コンポーネントに表示します
 

(1)アプリケーションの新規作成を行ってください

(2)フォーム上にDBGrid、OracleSession, OracleLogon,
  OracleDataSet, DataSourceを一つづつ配置します

Sample

(3)オブジェクトインスペクタでプロパティを設定します:

  OracleSession1.BytesPerCharacter = bcAutoDetect (日本語環境では必須)
  OracleLogon1.Session = OracleSession1
  OracleDataSet1.Session = OracleSession1
  OracleDataSet1.SQL = 'select * from EMP'
  DataSource1.DataSet = OracleDataSet1
  DBGrid1.DataSource = DataSource1

(⇒詳細図 – 約40Kb)

※この例では、ORACLEを標準インストールして作成されるサンプルデータベースの EMPテーブルの内容を検索するよう、SQLをセットしています。実際の環境に合わせてアレンジしてください。

(4)メインフォームの、OnCreateイベントを記述します:

  procedure TForm1.FormCreate(Sender: TObject);
  begin
   OracleLogon1.Execute;
    if not OracleSession1.Connected then
    Application.Terminate;
    OracleDataSet1.Open;
  end;

(5)以上で、実行してみます。

アプリケーションが実行されると、以下のようにORACLEへのログインダイアログが実行されます。(FormのOnCreateイベントで呼んでいるOracleLogon1.Executeの結果です。)

Sample

ここで、有効なユーザ名・パスワード・データベース名を入力すれば、ORACLEにログインが成功します。

ログインが成功すれば(OracleDataSet1.Openによって)、検索SQLが実行され、その結果がグリッドに表示されます。

Sample

きわめて簡単に、データベース検索結果をグリッドで一覧表示できることがわかると思います。

※コンパイル失敗!したら:

コンパイル時に「ファイル Oracle.pas がみつかりません」などのメッセージが出て失敗する場合は、DOAのインストールに失敗しています。Delphiのライブラリパスに $(DELPHI)\DOA が追加されていないので、手動で追加してください。(DOAのインストール時にDelphiが動いていたり、Administrator権限のないユーザでDOAをインストールしたりしたために、レジストリの更新が失敗しているのが原因と思われます。)