フィールドの型を異なる型に割り当てる

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

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

テーブルのフィールドの型は、Forguncyの「作成」タブで「テーブルからページを生成」をクリックしてページを生成する際に判別され、この型に応じてページのセル型が決まります。テーブルのフィールドの型がテキスト型のままだと、「テキストボックス」型のセルが作成され、それにデータ連結されます。テーブルのフィールドの型を「添付ファイル」型に変更すると、セル型は「添付ファイル」型になります。テーブルのフィールドの型を「画像」型に変更すると、セル型は「画像アップロード」型になります。

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

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

1つ目は、外部データベース側が、Image型のようなバイナリフィールドだった場合、リンクテーブルのフィールドはテキスト型になりますが、実際の値は「System.Byte[]」と表示され画像データが値として格納されています。このフィールドを「画像アップロード」型セルにデータ連結させると、外部データベースのフィールドに格納していた画像はそのまま画像として表示されます。
この時、「画像アップロード」型セルからアップロードするのではなく、既存のレコードをコピーすると、画像が正しく表示されなくなります。これを防ぐには画像を格納する外部データベースのフィールドは、バイナリのフィールドではなくテキストフィールド(SQL Serverの場合、「NTEXT」や「NVERCHAR」など)を使用してください。

2つ目は、外部データベース側がString型のようなテキストフィールドか、あるいは外部データベースではなく内部データベースの「画像」フィールドだった場合、Forguncyが格納するのは画像そのものではなく、画像ファイルのパスであるテキストになります。画像そのものの格納場所は、「アップロードされるファイルの保存フォルダを変更する」を参照してください。このフィールドを「画像アップロード」型セルにデータ連結させると、データベースのフィールドに格納していたパスから画像を参照して画像が表示されます。