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.