Forguncy 10 オンラインヘルプ
アプリの開発 / 外部連携と入出力 / 外部データベース / フィールドへのForguncyデータ型の割り当て
このトピックで
    フィールドへのForguncyデータ型の割り当て
    このトピックで

    リンクテーブルとして外部データベースと接続したとき、外部データベース側がString型のフィールドは、Forguncyで操作するデータ型としてテキスト型に割り当てられます。割り当てられているForguncyの型は、ナビゲーションウィンドウからテーブルをダブルクリックし、[フィールド]リボンタブ内にある[データ型]で確認できます。このテキスト型に割り当てられた型は、[データ型]のドロップダウンリストから、「ユーザーアカウント」、「添付ファイル」、「画像」のいずれかの型に変更できます。

    なお、外部データベース側がバイナリ型の場合も、Forguncyで操作するデータ型としてテキスト型が割り当てられますが、この場合[データ型]ドロップダウンリストから型を変更することはできません。変更できるのは、外部データベース側がString型のフィールドに限ります。

    テーブルのフィールドをテキスト型ではなく「ユーザーアカウント」型に変更すると、ナビゲーションウィンドウのテーブルのフィールドに「氏名」「メールアドレス」…といったユーザーアカウントに関する詳細な項目が表示されます。これにより、Forguncyのアプリケーション内でこれらの詳細な項目を使用できるようになります。

    テーブルのフィールドの型は、Forguncyの[作成]リボンタブで[テーブルからページを生成]をクリックしてページを自動生成する際に参照され、この型に応じてページ上のセル型が設定されます。テーブルのフィールドの型が「テキスト」型のままである場合、テキストボックス型セルが作成され、それにデータ連結されます。テーブルのフィールドの型を「添付ファイル」型に変更すると、作成されるセルは添付ファイル型セルとなります。テーブルのフィールドの型を「画像」型に変更すると、作成されるセルは画像アップロード型セルとなります。

    画像アップロード型セルを使用したデータ格納

    画像アップロード型セルをデータ連結させておくと、アプリケーション実行時に、クライアントから任意の画像を指定してサーバーに画像をアップロードできます。リンクテーブル(外部データベース)の場合、次の2つのデータの格納方法があります。

    画像ファイルをバイナリデータとして格納する方法

    外部データベース側が、たとえばvarbinary型のようなバイナリフィールドだった場合、リンクテーブルのフィールドの[データ型]は「テキスト」と表示されますが、格納されている値は「System.Byte[]」と表示されます。このフィールドを画像アップロード型セルにデータ連結した場合、外部データベースのフィールドに格納していた画像のバイナリデータがそのまま画像として表示されます。

    なお、この方法はSVG形式の画像ではサポートされていません。

    各データベースごとに以下のバイナリデータ型を画像ファイルとしてサポートしています。

    SQL Server varbinary, varbinary(max), image
    Oracle Database BLOB
    MySQL BINARY, BLOB, LONGBLOB, MEDIUMBLOB, TINYBLOB, VARBINARY
    PostgreSQL BYTEA

    画像ファイルのファイル名をテキストデータとして格納する方法

    外部データベース側がString型のようなテキストフィールドであるか、あるいは内部データベースの「画像」型フィールドである場合、Forguncyが値として格納するのは画像ファイルのファイル名になります。サーバーへとアップロードされた画像ファイルの格納場所については、保存フォルダーを参照してください。このようなフィールドを画像アップロード型セルにデータ連結させた場合、データベースのフィールドに格納していたファイル名を基に画像ファイルを参照して画像が表示されます。なお、画像ファイルの保存パスはアプリケーション名を含むため、複数のForguncyアプリケーション間でファイルを保存、および参照することはできません。この問題を回避したい場合には、テキストデータではなく、バイナリデータとして画像ファイルを格納する方法を検討してください。