![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|||||
|
|
|||||
| function | SQLSetArrayAsStream | ||||
| Related Syntax | Other Library Functions |
|
Library: ODBC
Include: omodbc.xin |
define external function SQLSetArrayAsStream
( read-only SQL_array_type Array,
value counter ElementPos,
value stream StreamValue )
Sets the specified element in the data area of the SQL_array_type variable to the specified stream value. The contents of the stream may be any text or binary information.
Input arguments:
The following code demonstrates how to use SQLSetArrayAsStream to set the value of the SQL array type stream:
local SQL_Array_type Array
local SQL_Array_type ArrayCopy
local stream ArrayStreamValue
local counter ArrayStreamLen
local counter i
SQLSetArraySize( Array, 20, 5 )
;
; Check initial values.
;
set i to 0
repeat
set ArrayStreamValue to SQLGetArrayAsStream( Array, i )
set ArrayStreamLen to (length of ArrayStreamValue)
output "Initial stream value[%d(i)] = %g(ArrayStreamValue) "
output "(length = %d(ArrayStreamLen))%n"
increment i
exit when i=5
again
;
; Set stream values.
;
set i to 0
repeat
set ArrayStreamValue to "*" ||* (i+1) || "%0#- post null"
SQLSetArrayAsStream( Array, i, ArrayStreamValue )
increment i
exit when i=5
again
;
; Check current values.
;
set i to 0
repeat
set ArrayStreamValue to SQLGetArrayAsStream( Array, i )
set ArrayStreamLen to (length of ArrayStreamValue)
output "Current stream value[%d(i)] = %g(ArrayStreamValue) "
output "(length = %d(ArrayStreamLen))%n"
increment i
exit when i=5
again
The following code demonstrates how to set the stream values of multiple elements in an SQL array type:
local SQL_Array_type Array
local stream ArrayStreamShelf variable
local counter ArrayStreamLen
local counter i
SQLSetArraySize( Array, 20, 5 )
;
; Check initial values.
;
SQLGetArrayAsStreamShelf( Array, ArrayStreamShelf, 5 )
repeat over ArrayStreamShelf
set ArrayStreamLen to (length of ArrayStreamShelf)
output "Initial stream shelf value[%d(#ITEM)] = %g(ArrayStreamShelf) "
output "(length = %d(ArrayStreamLen))%n"
again
;
; Set stream values.
;
set i to 0
repeat
set ArrayStreamShelf@(i+1) to "*" ||* (i+1) || "%0#- post null"
increment i
exit when i=5
again
SQLSetArrayAsStreamShelf( Array, ArrayStreamShelf, 5 )
;
; Check current values.
;
SQLGetArrayAsStreamShelf( Array, ArrayStreamShelf, 5 )
repeat over ArrayStreamShelf
set ArrayStreamLen to (length of ArrayStreamShelf)
output "Current stream shelf value[%d(#ITEM)] = %g(ArrayStreamShelf) "
output "(length = %d(ArrayStreamLen))%n"
again
| ---- |