SE_stream_set_blob

Sets the value for a BLOB column

Usage syntax

LONG SE_stream_set_blob
(SE_STREAM stream,
SHORT column,
const SE_BLOB_INFO *blob_val);

Parameters
stream The stream handle
column The column number to set; columns numbers start with the number 1.
blob_val Pointer to a BLOB structure
Description

SE_stream_set_blob sets the value of a BLOB column, which is used when inserting or updating a row in a table or ArcSDE layer.

If the pointer to the SE_BLOB_INFO structure is NULL, a NULL value is set for this column.

The information necessary to insert the BLOB data is supplied in the SE_BLOB_INFO structure.

typedef struct {

  LONG    blob_length;        /* Length in bytes of the BLOB */

  CHAR   *blob_buffer;        /* Linear buffer of BLOB data */

} SE_BLOB_INFO

This function makes a duplicate of the given BLOB buffer and allocates additional memory to contain the BLOB. This can be inefficient when used with large BLOBs. For this situation, you may prefer to use SE_stream_bind_input_column because it does not create a copy of the BLOB. However, be aware that an SE_BIND_CONFLICT error is returned if SE_stream_bind_input_column was called earlier for the specified column or if you call SE_stream_bind_input_column after calling SE_stream_set_blob.

Returns

SE_SUCCESS
SE_BIND_CONFLICT

SE_CONNECTION_LOCKED

SE_CONNECTION_IN_USE

SE_FAILURE

SE_FUNCTION_SEQUENCE_ERROR

SE_INVALID_COLUMN_VALUE

SE_INVALID_PARAM_VALUE

SE_INVALID_POINTER

SE_INVALID_STREAM

SE_INVALID_STREAM_TYPE

SE_OUT_OF_CLMEM

SE_SDE_NOT_STARTED

SE_WRONG_COLUMN_TYPE