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

AVEVA™ InTouch HMI

SQLSetParamNull() 関数

  • Last UpdatedSep 26, 2024
  • 1 minute read

SQLSetParamNull() 関数は、SQL ステートメント内の指定したパラメータを Null に設定します。

カテゴリ

SQL

構文

SQLSetParamNull(StatementID, ParameterNumber, ParameterType, Precision, Scale)

引数

StatementID

クエリー内で SQL ステートメントを識別する整数値

ParameterNumber

StatementID 引数によって識別される SQL ステートメントでパラメータを識別する整数値

ParameterType

ParameterNumber 引数で指定されたパラメータに関連付けられているデータ タイプを指定する整数値ParameterType 引数は、次の値に関連付けることができます。

0: 文字列

1:日付時刻

2:整数型

3:浮動小数点数

4:進数

精度

パラメータ データ タイプに関連付けられているデータの精度

スケール

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

備考

Null 値との比較は、SQL Server の ANSI_NULLS オプションによって管理されます。SQL Server 7.0 では、このオプションはクエリー実行時ではなく、オブジェクト作成時に解決されます。ストアド プロシージャが SQL Server 7.0 で作成される場合、このオプションはデフォルトで ON であり、"WHERE MyField = NULL" などの句は常に NULL (FALSE) を返し、この句を使用する SELECT ステートメントから行は返されません。

比較 = または <> が TRUE または FALSE を返すには、ストアド プロシージャを作成するときにオプションを OFF に設定する必要があります。ANSI_NULLS が OFF に設定されていない場合、SQLSetParamNull() は期待どおりに動作しません。この場合、Null 値に対する比較は "WHERE MyField IS NULL" または "WHERE MyField IS NOT NULL" の構文を使用する必要があります。

このトランザクション セットは、ProductName が Null ではない Products テーブル内のすべての行を返します。

ANSI_NULLSをオフに設定

GO

CREATE PROCEDURE sp_TestNotNull @ProductParam varchar(255)

AS SELECT * FROM Products WHERE ProductName <> @ProductParam

GO

ANSI_NULLSをオンに設定

GO

InTouch は、以下の SQL Access スクリプトを実行できます。

ResultCode = SQLSetStatement(ConnectionId, "sp_TestNotNull");

ResultCode = SQLPrepareStatement(ConnectionId, StatementID);

ResultCode = SQLSetParamNull(StatementID, 1, 0, 0, 0);

ResultCode = SQLExecute(ConnectionId, BindList, StatementID);

ResultCode =SQLTransact( ConnectionID);

ResultCode = SQLClearStatement(ConnectionId, StatementID);

参照項目

SQLPrepareStatement()