Ora8SetFloat Function

Action

Assigns a floating-point value to the program variable that is bound to the specified place holder in the SQL statement or PL/SQL block. The place holder is identified by the name or the number specified in the SQL statement or PL/SQL block. This function is used to assign values to both scalar and array program variables.

Include file

Ora8.bdh

Syntax

Ora8SetFloat( in hStmt   : number,
              in sSqlVar : string,
              in fValue  : float,
              in nIndex  : number optional ): boolean;

Return value

  • true if successful

  • false otherwise; In this case, you can use the Ora8OciError function to retrieve the Oracle OCI error code.

Parameter Description
hStmt Statement handle.
sSqlVar Name of the place holder in the SQL statement or PL/SQL block. This parameter must include the preceding colon identifying it as a place holder.
fValue Float value that is assigned to the program variable that is bound to the specified place holder in the SQL statement or PL/SQL block.
nIndex Array index (optional). For array binding operations, this parameter specifies the array index of the program variable.

Example

var
  ghEnv0        : number;
  ghError0      : number;
  ghStmt0       : number;
  ghSvcCtx0     : number;

dcltrans
  transaction TMain
  var
    sName    : string;
    fBalance : float;
  begin
    Ora8Init(ghEnv0, OCI_DEFAULT);
    Ora8HandleAlloc(ghEnv0, ghError0, OCI_HTYPE_ERROR);
    Ora8Logon(ghEnv0, ghSvcCtx0, "user", "password", "orclnet2");

    Ora8HandleAlloc(ghEnv0, ghStmt0, OCI_HTYPE_STMT);
    Ora8StmtPrepare(ghStmt0, sqlSelect, OCI_NTV_SYNTAX);

    Ora8Bind(ghStmt0, ":1", SQLT_FLT);

    Ora8SetFloat(ghStmt0, ":1", 2000.0);
    Ora8Define(ghStmt0, 1, SQLT_CHR, 32);
    Ora8Define(ghStmt0, 2, SQLT_FLT);
    Ora8StmtExecute(ghSvcCtx0, ghStmt0);

     while Ora8StmtFetch(ghStmt0, 1, 1) do
      sName    := Ora8GetString(ghStmt0, "1");
      fBalance := Ora8GetFloat(ghStmt0, "2");
      write(sName, 32); write(fBalance); writeln;
    end;

    Ora8HandleFree(ghStmt0, OCI_HTYPE_STMT);
    Ora8Logoff(ghSvcCtx0);
    Ora8HandleFree(ghError0, OCI_HTYPE_ERROR);
    Ora8HandleFree(ghEnv0, OCI_HTYPE_ENV);
  end TMain;

dclsql
  sqlSelect:
    SELECT * FROM accounts WHERE balance > :1;

Output

Bob 13864.220000Pamela 4492.090000Richard 7309.580000