ページの先頭行へ戻る
Symfoware Server V10.1.1 アプリケーション開発ガイド(.NET Data Provider編)
Symfoware

3.2.2 SNDPコード生成ツールでの自動生成を利用する場合

自動生成可能なコードの範囲は、“3.2.2.1 コードの自動生成範囲”を参照してください。

なお、Symfoware .NET Data Providerのデータオブジェクト(SymfowareCommand、SymfowareCommandBuilder、SymfowareConnection、およびSymfowareDataAdapter)を使用して、データ操作を自動生成することはできません。

注意

1つのフォームに、Symfoware .NET Data Providerのデータ操作を自動生成する目的以外のODBCブリッジコードを、混在させないでください。

コードの自動生成の流れと詳細手順の参照先を、以下に示します。

手順

作業項目

説明

参照先

1

プロジェクトの作成

Visual Studioでアプリケーションのプロジェクトを作成します。

Microsoft社のVisual Studioのマニュアル

2

Symfoware .NET Data Providerのセットアップ

Visual StudioでSymfoware .NET Data Providerを使用できるようにします。

3.1.2

3

ユーザインタフェースの作成

アプリケーションのユーザインタフェースを作成します。

Microsoft社のVisual Studioのマニュアル

4

ODBCデータソースの登録とデータ接続の作成

データアダプタ構成ウィザード使用時に、接続するデータベースの接続先を設定します。

3.2.2.2

5

ODBCブリッジコードの生成

ODBCブリッジコードを自動生成します。

3.2.2.3

6

Symfoware .NET Data Providerのコードの生成

SNDPコード生成ツールを使用して、自動生成したODBCブリッジコードからSymfoware .NET Data Providerのコードを生成します。
Symfoware .NET Data Providerのコード生成後に、ユーザインタフェースまたはデータ操作を変更したい場合は、手順3.または手順5.まで戻り、やり直してください。変更後は、SNDPコード生成ツールを必ず再実行してください。

3.2.2.4

7

アプリケーションロジックの作成

アプリケーションロジックを作成します。
コードを自動生成した場合、アプリケーションロジック作成時に、必ず行う作業があります。

  

自動生成したコードの呼出し

自動生成したコードをアプリケーションロジックで呼び出します。

3.2.2.5.1

コネクションの作成

データベースの接続情報を追加します。

3.2.2.1 コードの自動生成範囲

自動生成可能なSymfoware .NET Data Providerのコードは、以下のとおりです。

3.2.2.2 ODBCデータソースの登録とデータ接続の作成

ODBCブリッジコードを生成するときに接続するSymfoware Serverを、あらかじめ、接続先として設定します。

ODBCデータソースの登録

ODBCデータソースを登録します。データソース登録時のODBCドライバには、“Symfoware ODOS”を指定してください。

参照

ODBCデータソースの登録手順の詳細は、“アプリケーション開発ガイド(ODBCドライバ編)”の“ODBCデータソースの登録”を参照してください。

注意

ODBCデータソースの登録前に、データベースが構築されている必要があります。

データ接続の作成

Visual Studioから、データベースのデータ接続を作成します。

  1. [ツール]メニューの[データベースへの接続]を選択し、[データソースの選択]ダイアログを表示します。

  2. [データソース]の“その他”を選択し、[データプロバイダ]プルダウンメニューから“.NET Framework ODBC 用データ プロバイダ”を選択します。

  3. [続行]ボタンをクリックし、[接続の追加]ダイアログボックスを表示します。

  4. [データソースの指定]、および[ログイン情報]に接続先情報を指定し、[OK]ボタンをクリックします。

  5. サーバーエクスプローラのデータ接続の配下に、作成したデータ接続のテーブル、ビュー、およびプロシージャが表示されることを確認します。

3.2.2.3 ODBCブリッジコードの生成

ODBCブリッジコードを生成します。ODBCブリッジコードの生成には、ODBCデータソース用のデータオブジェクトを使用します。生成可能なデータ操作の範囲は、“3.2.2.1 コードの自動生成範囲”を参照してください。

また、コード生成時の注意事項は、“コード生成時の注意事項”を参照してください。

参照

ODBCブリッジコードの詳細は、Microsoft社のVisual Studioのマニュアルを参照してください。

ここでは、データアダプタ構成ウィザードを使用して、データ操作文を生成する例で説明します。

  1. アプリケーションのフォーム、またはコンポーネント上に、ツールボックスからOdbcDataAdapterオブジェクトをドラッグし、データアダプタ構成ウィザードを起動します。

    ポイント

    ツールボックスにODBCデータソース用のデータオブジェクト(OdbcCommand、OdbcCommandBuilder、OdbcConnection、およびOdbcDataAdapter)が表示されていない場合は、ツールボックスを右クリックし、[アイテムの選択]からデータオブジェクトを追加してください。

  2. [データ接続の選択]の[データアダプタで使用するデータ接続]に、データベースの接続名を選択し、[次へ]ボタンをクリックします。

  3. コマンドの種類の選択画面で[SQLステートメントを使用する]ラジオボタンを選択し、[次へ]ボタンをクリックします。

    注意

    [既存のストアドプロシージャを使用]は選択しないでください。

  4. [SQLステートメントの生成]の[クエリ ビルダ]ボタンをクリックし、[クエリ ビルダ]ダイアログボックスを表示します。

  5. [クエリ ビルダ]ダイアログボックスで、データ操作文を作成します。

    注意

    データアダプタ構成ウィザードでは時間隔型を含む表のデータを指定することはできません。詳細は、“3.2.2.1 コードの自動生成範囲”を参照してください。

  6. データアダプタ構成ウィザードに戻り、[次へ]ボタンをクリックし、データ操作文を生成します。

  7. [ウィザードの結果]画面の[完了]ボタンをクリックします。

  8. 生成したODBCブリッジコードにコンパイルエラーがないことを確認します。

  9. [ファイル]メニューの[すべてを保存]を選択し、プロジェクトを保存します。

コード生成時の注意事項

ODBCブリッジコードを自動生成する場合、以下のことに注意してください。

3.2.2.4 Symfoware .NET Data Providerのコードの生成

SNDPコード生成ツールを使用して、生成したODBCブリッジコードから、Symfoware .NET Data Providerのコードを生成します。

コード生成後にユーザインタフェース、またはデータ操作を変更したい場合は、変更したい操作まで戻り、コード生成までやり直してください。


ODBCブリッジコードからSymfoware .NET Data Providerのコードを生成する手順を説明します。

注意

  • SNDPコード生成ツールを実行する前に、ODBCブリッジコードにコンパイルエラーがないことを確認してください。エラーがあると、Symfoware .NET Data Providerのコードもエラーになります。

  • SNDPコード生成ツールを実行する前に、プロジェクトを保存してください。保存していない場合、データが失われる可能性があります。
    なお、保存には、[ファイル]メニューの[すべてを保存]を使用してください。

  • Symfoware Server クライアント機能のインストール後にVisual Studioをインストールしている場合、SNDPコード生成ツールの機能を有効とするために、以下の設定を実施してから、Visual Studioを再起動してください。

    1. [ツール]メニューのアドインマネージャを選択します。

    2. 表示されたアドインマネージャのダイアログで、アドイン“Make SNDP Code”のスタートアップの項目にチェックをします。

Symfoware .NET Data Providerのコード生成は、ファイル単位に行います。コード生成時に複数のファイルを開いている場合、現在有効になっているファイルが変換されます。

  1. Visual Studioでコードを生成するファイルを開きます。

  2. フォームデザイナをアクティブにします。

  3. [ツール]メニューの[SNDPコード生成]を選択します。

  4. フォームのリソースファイルにSQL文が書き込まれている場合、以下のダイアログボックスが表示されます。[はい]ボタンをクリックし、リソースファイルをリロードしてください。

  5. SNDPコード生成ツールが正常に終了したら、以下に示すとおり、Symfoware .NET Data Providerのコードが生成されたことを確認してください。

    [C#の場合]

    #region "SNDP Wizard generated code "
    (Symfoware .NET Data Providerのコード)
    #endregion

注意

SNDPコード生成ツールで生成したコードは、直接変更しないでください。直接変更した場合、正常に動作しない可能性があります。
変更する場合は、ODBCブリッジコードの生成からやり直してください。

SNDPコード生成ツールにより生成されるオブジェクト名

SNDPコード生成ツールを使用すると、ODBCオブジェクト名の先頭に“SNDP_”が付加されます。アプリケーションロジック作成時に、オブジェクト名を間違えないよう、注意してください。

SNDPコード生成ツールの実行前と実行後のオブジェクト名の例を示します。

実行前

実行後

OdbcConnection

SNDP_OdbcConnection

MyObject

SNDP_MyObject

3.2.2.5 アプリケーションロジックの作成

アプリケーションのロジックを作成します。

Symfoware .NET Data Providerのコードを自動生成した場合、アプリケーションロジックで、生成したコードを呼び出す必要があります。

ここでは、自動生成したコードの呼び出し方と、コネクションの作成について説明します。

参照

そのほかのアプリケーションロジックの詳細は、“第5章 APIリファレンス”およびMicrosoft社のMSDNライブラリを参照してください。

注意

  • アプリケーションロジックを作成する際に、“SNDP_InitializeComponent”という関数名は定義しないでください。

  • アプリケーションロジックは、自動生成したコードと混在させないでください。混在させると、SNDPコード生成ツールを再実行したときに、ロジックが失われます。

3.2.2.5.1 自動生成したコードの呼出しとコネクションの作成

自動生成したSymfoware .NET Data Providerのコードの呼び出し方とコネクションの作成について説明します。

自動生成したコードの呼出し

アプリケーションロジックの最初に、SNDPコード生成ツールで生成したSymfoware .NET Data Providerのコードを呼び出すSNDP_InitializeComponent関数を記述します。

Windowsアプリケーションの場合は、Form_Load関数の中に、Webアプリケーションの場合は、Page_Load関数の中に記載することを推奨します。

なお、SNDP_InitializeComponent関数は、グローバルオブジェクトにメモリを配布するため、アプリケーションロジックの最初に1回だけ呼び出すようにしてください。SNDP_InitializeComponent関数を2回以上呼び出すと、メモリリークやオーバーフローが生じる可能性があります。

コネクションの作成

コードを自動生成した場合、SNDP_InitializeComponent関数の直後に、データベースへの接続先情報(コネクション)を記述します。

コネクションには、2種類の指定方法があります。詳細は、“2.1 コネクション”を参照してください。

自動生成したコードの呼出しとコネクションの作成例

自動生成したコードの呼出しとコネクションの作成例を示します。

[C#の場合]

private void Form1_Load(object sender, EventArgs e)
{
    this.SNDP_InitializeComponent();
this.SNDP_odbcConnection1.ConnectionString = "DATA SOURCE=127.0.0.1;PORT=26551;" +
"INITIAL CATALOG=TEST;USER ID=root;PASSWORD=PASS01";
}

[Visual Basic .NETの場合]

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.SNDP_InitializeComponent()
Me.SNDP_OdbcConnection1.ConnectionString = "DATA SOURCE=127.0.0.1;PORT=26551;" _
& "INITIAL CATALOG=TEST;USER ID=root;PASSWORD=PASS01" End Sub

ポイント

Symfoware .NET Data Providerのコードを自動生成すると、自動生成コードの開始直後に、SNDP_InitializeComponent関数、および作成したオブジェクトのConnectionStringプロパティが、コメントとして表示されます。このコメントをアプリケーションロジックにコピーし、ConnectionStringプロパティに接続先情報を追加してください。

[C#の場合]

#region "SNDP Wizard generated code "
//  このregion内の内容をコード エディタで変更しないでください。
//  下記のコードは自動生成したSymfoware .NET Data Providerのコードの呼び出し方法です。
//  アプリケーションロジックの最初にコピーしてください。
//  this.SNDP_InitializeComponent();
// this.SNDP_odbcConnection1.ConnectionString="実際の接続先情報を記載してください"; private Fujitsu.Symfoware.Client.SymfowareDataAdapter SNDP_odbcDataAdapter1; : #endregion

[Visual Basic .NETの場合]

#Region "SNDP Wizard generated code "
    '  このregion内の内容をコード エディタで変更しないでください。
    '  下記のコードは自動生成したSymfoware .NET Data Providerのコードの呼び出し方法です。
    '  アプリケーションロジックの最初にコピーしてください。
    '  Me.SNDP_InitializeComponent()
' Me.SNDP_OdbcConnection1.ConnectionString="実際の接続先情報を記載してください" Friend WithEvents SNDP_OdbcDataAdapter1 As Fujitsu.Symfoware.Client.SymfowareDataAdapter : #End Region