sql/dataの紹介
Author: takeuchi@fcs21.jp (richiet)
sql/dataの紹介 Proc命令、sql/printで以下のようなSQLを実行した場合、フィールド定義によっては 大量の空白が付加されます select * from testent PROC命令、sql/printには、これらの空白を削除するオプションが 用意されておりません。このため、Uniface 9.6.04より新機能、sql/dataが 用意されました。 [機能説明] sql/dataの戻り値は、Proc命令、 sql/printとは異なり、文字型のリスト形式で$resultに 結果が返されます。 なお、各項目の後ろの空白は、retriev/e命令でエンティティを検出した場合と同様、 自動的に削除されます。 リスト形式の結果を各フィールドにアサインする場合は、Proc 命令、forlistを使用し、 各レコードのフィールドの値を取得してください。 例) テーブル名、 T にフィールド、A,Bが定義されていて、それぞれのフィールドの値が、 3つ登録されている場合、 A B 1 2 3 4 5 6 sql/data “SELECT * FROM T”, “DEF” の実行結果、$resultは、 1·!·;2·;3·!·;4·;5·!·;6 が返されます。 <備考> 合計3つのリストが存在し、各リストは2つのフィールド(A,B)値が登録されている 各フィールドに値をセットする場合、forlistで各フィールドの値を取得する forlist vRecord in $result getitem vFIELD1, vRecord, 1 getitem vFIELD2, vRecord, 2 <コーディング> endfor [サンプル] [内容] Proc命令、sql/data/fieldname でデータベースから各レコードの項目名および、 値を取得し、ダミーテーブルに値をセットする [使用手順] 1. データベースにテーブル名、TESTENTが存在する場合は削除(Drop)してください。 2. SQLDATAFRM.xmlファイルをUniface 9.6.04にインポートする2 3. SQLDATAFRMフォームをコンパイルし、実行する 4. [データ作成] ボタンを押してテストデータを作成する 5. [sql/data/fieldname] ボタンを押す [実行結果] ダミーエンティティ、 DUMTESTENTにTESTENTのレコードが取り込まれます。 ダウンロード ファイル名 : SQLDATAFRM.zip サイズ : 9KB
This page has no comments.