チュートリアル:TSQLMonitor を ODBC 接続で使用する

提供: RAD Studio
移動先: 案内検索

データベースおよび LiveBinding のチュートリアル への移動


TSQLMonitor は、ODBC 接続のサポートを提供します。

次のチュートリアルでは、TSQLMonitor がどのように ODBC 接続と使用されるかを示しています。ODBC では、InterBase データベースへの接続を確立します。 この例は、VCL フォーム アプリケーションで、3 つのコントロール(TSQLConnectionTSQLMonitorTButton)が含まれています。ボタンがクリックされると、テーブルが作成され、その中にデータが入力されたあと、簡単な SELECT クエリが実行されます。 最後に、TSQLMonitorTraceList を、ディスク上のファイルに保存します。

手順

ODBC データソースへの接続の作成

  1. ODBC データソースを作成します。 詳細は、Microsoft ドキュメントを参照してください。。
  2. データ エクスプローラで、[Odbc]を右クリックし、[新規接続を追加]を選択します。

AddNewConnection.png

3. 新しい接続の名前を入力し、[OK]をクリックします。 この例では、ODBCINTERBASECONNECTION を使用します。
4. 新規作成された接続を右クリックし、[変更]を選択します。 [データベース]フィールドに、[ODBC データ ソース アドミニストレーター]で作成したデータソースの名前を設定するほか、データベースへの接続に必要な資格情報を所定のフィールドに入力します。

ModifyConn.png

5. [接続テスト]をクリックします。 接続が適切に設定されている場合は、"接続テストに成功しました" というメッセージのダイアログ ボックスが表示されます。

アプリケーション

  1. [ファイル|新規作成|VCL フォーム アプリケーション - Delphi]を選択します。
  2. フォームにいくつかのコントロールを追加します: TSQLConnectionTSQLMonitorTButton
  3. TButton コントロールの OnClick イベント ハンドラに、次のコードを追加します。
procedure TForm2.Button1Click(Sender: TObject);
begin
  try
    Connect;
    SQLMonitor1.SQLConnection := SQLConnection1;
    // Activate the Monitor
    SQLMonitor1.Active := True;
    ExecuteQueries;
    // Write the trace list of the TSQLMonitor to a file on disk
    SQLMonitor1.SaveToFile('D:\\Log.txt');
  except
    on E: Exception do
      ShowMessage('Exception raised with message: ' + E.Message);
  end;
end;

以下が、TButton コントロールの OnClick イベント ハンドラ関数のためのコードです:

// establishes the connection to the ODBC datasource
procedure TForm2.Connect;
begin
  SQLConnection1 := TSQLConnection.Create(nil);
  // the name of the connection created in the data explorer
  SQLConnection1.ConnectionName := 'odbcinterbaseconnection';
  SQLConnection1.LoginPrompt := False;
  SQLConnection1.LoadParamsOnConnect := True;
  SQLConnection1.Connected := True;
end;

// Executes several queries on the database.
procedure TForm2.ExecuteQueries;
var
  Query: String;
begin
  try
    if SQLConnection1.Connected then
    begin
      Query := 'CREATE TABLE ExampleTable(id INTEGER, name VARCHAR(50))';
      SQLConnection1.Execute(Query, nil);
      Query := 'INSERT INTO ExampleTable VALUES(1,''test1'')';
      SQLConnection1.Execute(Query, nil);
      Query := 'INSERT INTO ExampleTable VALUES(2,''test2'')';
      SQLConnection1.Execute(Query, nil);
      Query := 'INSERT INTO ExampleTable VALUES(3,''test3'')';
      SQLConnection1.Execute(Query, nil);
      Query := 'SELECT * FROM ExampleTable';
      SQLConnection1.Execute(Query, nil);
    end;
  except
    on E: Exception do
      ShowMessage('Exception raised with message: ' + E.Message);
  end;
end;

関連項目