Home | Sign in | English EN
  • Overview
  • How to?
  • Steps
  • Remarks
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Native Sybase Connector: Running the same stored procedure several times
Native Connectors (Native Accesses)Available only with this kind of connection
In some cases, it may be interesting to run the same stored procedure several times while modifying one or more parameters.
Several solutions can be implemented:
  1. Run the query (with HExecuteSQLQuery) as many times as necessary while modifying the desired parameters.
  2. Prepare the query to run (HPrepareSQLQuery) as well as the different parameters to modify and run the query as many times as necessary with HExecuteSQLQuery. This second solution is much faster and it optimizes the time required to browse the query result (for a Select query).
This help page explains how this second solution can be implemented.
How to?


To prepare and execute a query multiple times:
  1. Declare a data source. This data source will contain the result of the SQL query.
  2. Declare the types of query variables.
    The variables are retrieved in the type specified in WLanguage. The variables are text variables by default.
    Therefore, conversions may occur between the native type of the database and the WLanguage type, causing unexpected rounding or formatting errors (Date transformed into string for example).
    Therefore, we advise you to specify the WLanguage types of the variables with great care before running the query. To do so:
    • initialize the value of the variable (simple types: integer, string, float).
    • specify the expected type with Type (not supported in this version).

      The name of these variables must correspond to the name of the parameters of this procedure on Sybase.
      Remark: In some cases, the server does not accept to perform an implicit conversion. A conversion error is displayed. In this case, you must initialize the type by defining any ordinary value in the selected type.
      For example, to define a numeric type, use MyQuery.Parameter=0.
  3. Prepare the query with HPrepareSQLQuery.
  4. Specify the value of the different parameters to take into account and run the query with HExecuteSQLQuery. Only the name of the data source that corresponds to the query must be specified.
This last step must be repeated as many times as necessary.


  • HPrepareSQLQuery must be used with:
    • the connection name,
    • the hQueryWithoutCorrection constant
  • The declared variables must be identical to the ones used. Otherwise, a WLanguage error occurs.
  • In the call to the stored procedure, you must use the syntax specific to the database used, including for the syntax of parameters. For Sybase, the parameters are specified with the following syntax: @ParamName.
    Caution: the "@" character must be followed by at least one letter (the syntax @1 is not allowed).
    The same parameter can be used several times. In this case, the corresponding variable will be reused.
  • The return value of the stored procedure is returned in a variable automatically defined by the Native Sybase Connector. This variable is named RETURN_VALUE.
  • To run a query without enabling the bind, use the hNoBind constant in HExecuteSQLQuery.
Minimum version required
  • Version 9
This page is also available for…
Click [Add] to post a comment