データ項目の型は、[モデル]リポジトリまたは[カラム]テーブルのいずれかの[型]欄を使用して指定します。Magic uniPaaSで使用できる型は以下のとおりです。

内容

文字

文字型は、文字列を格納する場合に使用するデータ型です。文字型では、数値も文字列として格納されます。文字型がデフォルトのデータ型です。

変数項目の最大長は32Kですが、使用するデータベースにより制限を受けることもあります。例えば、Pervasive ゲートウェイを使用する時、DBMSパラメータで「/P:4096」と指定すると、Pervasiveデータベースの内部のページサイズが4096バイトとなりますが、この時には、最大レコード長も4096バイトとなるので、その中に定義されている文字型の最大長も4096バイトということになります。

Unicode

Magic uniPaaSは、データの変換と転送用にUnicode標準を使用します。この機能は、Magic uniPaaSのANSIとOEMサポートに追加されたものです。

以下のような場合にUnicodeを使用することができます。

  • データベース内のUnicodeのフィールドを読み書きする場合

  • フォームにUnicodeデータを入力したり、画面上にUnicodeデータを表示する場合

  • Unicodeデータ用のプログラムロジックを定義する場合

  • Unicode形式のテキストファイルを読み書きする場合

  • 外部のシステム間でUnicodeデータの送受信を行う場合

現在、Unicode型項目の修正に適用される全ての規則は、文字型項目のものと同じです。

数値

整数または小数。Magic uniPaaSでは18桁までサポートされます。全体の桁数および小数部の桁数は、それぞれ最も近い偶数に切り上げられます。

論理

0または1の値を持ち、通常、内部的に1バイトとして格納されます。「True/False」、「黒/白」、「はい/いいえ」などの値の組み合わせを格納する場合、論理型を使用します。

論理型は通常、同等の数値型よりもアクセスが速くなります。0は「False」を、1は「True」を表します。

日付

日付を表すデータで、年、月、日からなります。内部的には数値型として格納されていて、西暦1年1月1日を基点(1)として数えた日数が格納されています。日付型データは、画面に表示される場合のみ日付の形式に変換され、Magic uniPaaS内部での計算は、全て数字データとして行われます。

時刻

内部的に秒数のカウンタとして格納されます。時刻型を使用して、時間の長さ、または任意の時刻を表します。日付型と同様、時刻型は数値であるため、加減算できます。時刻型は、画面に表示される時に時刻型式に変換されます。

BLOB

Binary Large Objectの略です。

Magic uniPaaSで作成されていないバイナリ情報を含み、サイズも不明です。この情報は、内容が解読されずにそのまま格納されます。BLOBは一般に、OLEオブジェクトまたはイメージビットマップを格納するために使用されます。BLOBが空の場合、NULLとして扱われます。
構造体を扱うことが可能な「バッファ」として利用することもできます。バッファ関数を使用することによって「バッファ」を参照したり修正することができます。

リッチクライアントプログラムでは、データビューとして沢山のコンテンツを含んだBLOB項目が含まれている場合、各BLOB項目は、サーバとクライアント間で受け渡しを行うため、プログラムのパフォーマンスを低下させます。

OLE

Magic uniPaaSのフォーム外で実行されるOLE COM オブジェクトのインスタンスを作成するために使用されるBLOB項目です。

ActiveX

Magic uniPaaSのフォームに配置可能なActiveX COM オブジェクトのインスタンスを作成するために使用されるBLOB項目です。

ActiveXオブジェクトの実行時の操作は、GUI表示やOLEオートメーションコマンドを通して行われます。

ベクトル

Magic uniPaaSの ベクトルデータ は、基本的に指定されたセルインデックスを使用してデータを格納したり、検索することのできる配列です。ベクトル型は、追加のセルモデル特性を持つBLOB型に基づいています。
ベクトルのセルには、[モデル]リポジトリで定義されているMagic uniPaaSの項目モデルを指定します。モデルとしてあらゆる型(文字、Unicode、数値、論理、日付、時刻、BLOB、OLE、ActiveX)を指定することができます。
ベクトルデータのインデックスは、1から始まります。ベクトル型は、変数項目やパラメータ項目からのみ選択できます。テーブルのカラムのとして定義することはできません。
再帰的なベクトル定義は、サポートされていません。GUI フォームやブラウザフォームに、ベクトル項目を配置することはできません。また、配列はメモリ上に格納されるため多量のデータをベクトルに格納することはお勧めできません。
ベクトル関数を使用することによってベクトルセルを参照したり修正することができます。

.NET

.NETアセンブリは、Microsoft .NETによって開発されたコンポーネントの用の標準オブジェクトで、最新のWindowsアーキテクチャに基づいたCOMコンポーネントに相当するものです。