Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

InTouch での共通 SQL 操作の実行

  • Last UpdatedSep 26, 2024
  • 2 minute read

InTouch では SQL Access 関数を使用して、データベースに保存されている情報と対話します。これらの SQL Access 関数を使用すると、データベース レコードを選択、変更、挿入、または削除するスクリプトを記述できます。

SQL アクションは同期型です。データベース QuickScript を InTouch アプリケーションから実行すると、関数によって要求されたデータベース アクションが完了するまで、コントロールは InTouch に戻りません。

SQL Access 関数は、関数と関連付けられている引数タイプを説明する句読点基準に準拠しています。引数が引用符に囲まれたスクリプト文字列("Arg1")に入力されるとき、正確な文字列が使用されます。引用符が使用されない場合、引数値はタグ名とみなされ、タグの現在の値が引数と関連付けられます。

ほとんどの SQL 関数は結果コードを返します。結果コードがゼロ以外の場合、関数は失敗し、他のアクションを行う必要があります。結果コードは SQLErrorMsg() 関数によって使用できます。

InTouch QuickScript エディタを使用して、SQL 関数を QuickScript に挿入します。SQL 関数をスクリプトに挿入する一般手順には以下の手順が含まれます。

SQL 関数をスクリプトに挿入する

  1. InTouch WindowMaker を起動します。

  2. QuickScript を QuickScript エディタで開きます。

  3. スクリプト内で SQL 関数を挿入する場所にカーソルを置きます。

  4. [関数]領域で、[アドオン]を選択して、[関数の選択]ダイアログ ボックスを表示します。

  5. QuickScript に挿入する SQL 関数を選択します。スクリプトが更新され、挿入した SQL 関数が表示されます。

SQL Access 関数に関連付けられている引数は、以下のように構成されています。

  • BindList

    SQL.DEF ファイルに定義されているバインド リスト名に対応します。

  • ConnnectionID

    ConnectionID 引数は、各データベース接続に SQLConnect() 関数によって割り当てられた番号(ID)を保持するメモリ型整数タグの名前を参照します。

  • ConnectString

    ConnectString は、データベース システムと追加のログオン情報を識別します。入力形式は以下のとおりです。

    "DSN=data source name[;attribute=value

    [;attribute=value]...]"

    Microsoft SQL Server 接続文字列

    • SQL Server 用 Microsoft OLE DB プロバイダ(推奨)

      "Provider=SQLOLEDB.1;User ID=sa; Password=;Initial Catalog=MyDB;Data Source=MyServer;"

      SQL Server 用の OLE DB プロバイダは sqloledb です。

    • SQL Server 用 Microsoft OLE DB プロバイダ(推奨)

      "Provider=SQLOLEDB.1;uid=sa;pwd=;Database=MyDB"

    • ODBC 用 Microsoft OLE DB プロバイダ(SQL Server 用デフォルト プロバイダ MSDASQL 使用):

      "DSN=Pubs;UID=sa;PWD=;"

    • ODBC 用 Microsoft OLE DB プロバイダ(SQL Server 用デフォルト プロバイダ MSDASQL 使用):

      "Data Source=Pubs;User ID=sa;Password=;"

      Oracle 接続文字列

    • Oracle 用 Microsoft OLE DB プロバイダ(推奨)

      "Provider=MSDAORA;Data Source=ServerName;User ID=UserIDStr; Password=PasswordStr;"

      Microsoft Access 接続文字列

      Microsoft Jet 用 Microsoft OLE DBプロバイダ(推奨)。Microsoft.Jet.OLEDB.4.0 は、Microsoft Jet 用ネイティブ OLE DB プロバイダ(Microsoft Access Database エンジン)です。

      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\DBName.mdb;User ID=UserIDStr;Password=PasswordStr;"

      ODBC 用 Microsoft OLE DB プロバイダ(MS Access 用デフォルト プロバイダ MSDASQL の使用):

      "Provider=MSDASQL;DSN=DSNStr;UID=UserName; PWD=PasswordStr;"

  • ErrorMsg

    エラーのテキスト説明を含むメッセージ型タグ

  • FileName

    情報を含むファイルの名前

  • MaxLen

    パラメータに関連付けられているカラムの最大サイズ。この引数によって、データが可変長文字かロング可変長文字のどちらの文字タイプであるかが決定されます。MaxLen がデータベースによって許可されている最大文字列に等しいかそれより少ない場合、このデータは可変長文字タイプとなります。それより大きい場合、データはロング可変長文字タイプとなります。

  • ORDERBY_EXPRESSIONS

    カラムおよび昇順または降順のソート順序を定義します。ソートに使用できるのはカラム名のみです。式の形式は以下のとおりです。

    ColumnName [ASC|DESC]

    選択したテーブルをカラム名で昇順にソートするには:

    "manager ASC"

    複数カラムでソートするには、式の形式は以下のようになります。

    ColumnName [ASC|DESC]、

    ColumnName [ASC|DESC]

    選択したテーブルを 1 つのカラム名(例: temperature)で昇順に並べ、別のカラム名(例: time)を降順にソートするには:

    "temperature ASC, time DESC"

  • ParameterNumber

    ステートメント内の実際のパラメータ番号。

  • ParameterType

    指定したパラメータのデータ タイプ。有効な値は以下のとおりです。

    タイプ

    説明

    Char

    空白を補った固定長文字列

    Var Char

    可変長文字列

    10 進数

    BCD 番号

    整数型

    4 バイト符号付き整数

    Small Integer

    2 バイト符号付き整数

    浮動小数点

    4 バイト浮動小数点

    倍精度浮動小数点型

    8 バイト浮動小数点

    日付時刻

    8 バイトの日時値

    日付

    4 バイトの日付時刻値

    時間

    4 バイトの日付時刻値

    タイプなし

    データ タイプなし

  • ParameterValue

    設定する実際の値。

  • 精度

    10 進数値の精度、文字の最大サイズ、または日時値のバイト数。

  • RecordNumber

    取得する実際のレコード番号

  • ResultCode

    ほとんどの SQL 関数が返す整数型変数。ResultCode は、関数が正常に実行されるとゼロ(0)、正常に実行されなかった場合には負の値を返します。

  • スケール

    10 進数値のスケール。この値は、Null に設定するパラメータに対して適用可能な場合にのみ必要です。

  • StatementID

    拡張機能ステートメントを使用している場合、SQL は内部で使用する StatementID を返します。

  • SQLStatement

    実際のステートメント。次に例を示します。

    ResultCode=SQLSetStatement(ConnectionID, "Select LotNo, LotName from LotInfo");

  • TableName

    TableName パラメータには、データベースでアクセスまたは作成するテーブルの名前が含まれます。

  • TemplateName

    TemplateName パラメータは、テーブルを定義する SQL.DEF ファイルのテンプレートの名前です。

  • WhereExpr

    テーブルの行に対する True または False の条件を定義します。関数はテーブルから Ture の条件を持つ行のみを抽出します。式の形式は以下のとおりです。

    ColumnName comparison_operator expression

    注記:カラムが文字データ タイプの場合、式を一重引用符で囲む必要があります。

    次の例は、Name カラムに EmployeeID という値を含む行をすべて選択します。

    Name='EmployeeID'

    次の例は、100 ~ 199 までの部品番号を含むすべての行を選択します。

    partno>=100 and partno<200

    次の例は、temperature カラムで 350 を超える値があるレコードをすべて選択します。

    temperature>350