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 24, 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:十进制数

精度

与参数的数据类型关联的数据的精度。

刻度

十进制值的小数位数。仅当适用于要设置为空的参数时,才需要使用此值。

附注

与 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"。

示例

此事务集返回 Products 表中 ProductName 不为 NULL 的所有行。

SET ANSI_NULLS OFF

GO

CREATE PROCEDURE sp_TestNotNull @ProductParam varchar(255)

AS SELECT * FROM Products WHERE ProductName <> @ProductParam

GO

SET ANSI_NULLS ON

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 = SQLFirst(ConnectionId);

ResultCode = SQLClearStatement(ConnectionId, StatementID);

另请参阅

SQLPrepareStatement()

In This Topic
Related Links