Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

  1                       Version 4.0 -- 5/1/89                 dbretlen
  ______________________________________________________________________

  NAME:  dbretlen

  FUNCTION:
       Determine the length of a return parameter value generated  by  a
       stored procedure.

  SYNTAX:
       DBINT dbretlen(dbproc, retnum)

       DBPROCESS *dbproc;
       int       retnum;








  dbretlen                Version 4.0 -- 5/1/89                        2
  ______________________________________________________________________

  COMMENTS:

       o dbretlen() returns the length of a particular return  parameter
         value  generated  by  a stored procedure.  It is useful in con-
         junction with remote procedure calls and EXECUTE statements  on
         stored procedures.
       o Transact-SQL stored procedures can return values for  specified
         "return  parameters."  Changes  made  to  the value of a return
         parameter inside the stored procedure are then available to the
         program  that  called  the procedure.  This is analogous to the
         "pass by reference"  facility  available  in  some  programming
         languages.

         For a parameter to function as a return parameter, it  must  be
         declared  as  such  within  the  stored procedure.  The EXECUTE
         statement or remote procedure call that calls the  stored  pro-
         cedure must also indicate that the parameter should function as


  3                       Version 4.0 -- 5/1/89                 dbretlen
  ______________________________________________________________________
         a return parameter.  In the case of a remote procedure call, it
         is  the dbrpcparam() routine that specifies whether a parameter
         is a return parameter.

       o When executing a  stored  procedure,  the  server  returns  any
         parameter values immediately after returning all other results.
         Therefore, the application can call dbretlen() only after  pro-
         cessing  the stored procedure's results by calling dbresults(),
         as well as dbnextrow() if appropriate.   (Note  that  a  stored
         procedure  can  generate  several  sets of results-one for each
         SELECT it contains.  Before the application can call dbretlen()
         or  any  other routines that process return parameters, it must
         call dbresults() and dbnextrow() as many times as necessary  to
         process all the results.)
       o If the stored procedure is  invoked  with  a  remote  procedure
         call,  the  return parameter values are automatically available
         to  the  application.   If,  on  the  other  hand,  the  stored



  dbretlen                Version 4.0 -- 5/1/89                        4
  ______________________________________________________________________
         procedure is invoked with  an  EXECUTE  statement,  the  return
         parameter  values  are available only if the command batch con-
         taining the EXECUTE statement uses local  variables,  not  con-
         stants, for the return parameters.

       o Other  routines  return  additional  information  about  return
         parameter values:
          o dbnumrets() returns the total  number  of  return  parameter
            values.

          o dbretdata() returns a pointer to a parameter value.
          o dbretname() returns the name of a parameter value.

          o dbrettype() returns the datatype of a parameter value.
       o For an example of this routine, see Example 8 in the DB-Library
         Reference Supplement.




  5                       Version 4.0 -- 5/1/89                 dbretlen
  ______________________________________________________________________

  PARAMETERS:
       dbproc -  A pointer to the DBPROCESS structure that provides  the
           connection for a particular front-end/SQL Server process.  It
           contains all the information that DB-Library uses  to  manage
           communications and data between the front end and SQL Server.
       retnum -  The number of the return parameter value  of  interest.
           The first return value is 1.  Values are returned in the same
           order as the parameters  were  originally  specified  in  the
           stored  procedure's  CREATE  PROCEDURE statement.  (Note that
           this is not necessarily the same order as  specified  in  the
           remote  procedure  call.)  When specifying retnum, non-return
           parameters do not count.  For example, if the second  parame-
           ter  in  a stored procedure is the only return parameter, its
           retnum is 1, not 2.

  RETURNS:



  dbretlen                Version 4.0 -- 5/1/89                        6
  ______________________________________________________________________
       The length of the specified return parameter value.  If retnum is
       out  of  range,  dbretlen()  returns  -1.  If the return value is
       null, dbretlen() returns 0.

  SEE ALSO:
       dbnextrow, dbnumrets, dbresults, dbretdata, dbretname, dbrettype,
       dbrpcinit, dbrpcparam












Typewritten Software • bear@typewritten.org • Edmonds, WA 98026