SetDatabaseBlob()

Syntax

SetDatabaseBlob(#Database, StatementIndex, *Buffer, BufferLength)
Description
Set the blob for future use with DatabaseUpdate().

Parameters

#Database The database to use.
StatementIndex Undefined query parameter index the blob should be inserted for. The first undefined parameter index starts from zero. The SQL syntax to specify undefined parameter is database manager dependent. See the following examples to see how to proceed.
*Buffer The address of the blob data.
BufferLength The size of the blob data in bytes.

Return value

None.

Example

  ; Create a new empty database in memory
  If OpenDatabase(0) 
  
    ; Add new table in it
    DatabaseUpdate(0, "CREATE TABLE food (name CHAR(50), image BLOB)")
    
    
    ; Create a dummy blob (125 kb)
    *Buffer = AllocateMemory(125000)
    
    ; Add a record with a blob. For this, we need to use the bind method using '?'
    SetDatabaseString(0, 0, "blob test")
    SetDatabaseBlob(0, 1, *Buffer, MemorySize(*Buffer)) ; Assign it to the 2nd paramater
    
    DatabaseUpdate(0, "INSERT INTO food (name, image) VALUES (?, ?)")
    
    ; Now check if it's really in the db
    If DatabaseQuery(0, "SELECT * FROM food")
    
      While NextDatabaseRow(0)
        Debug "name: '" + GetDatabaseString(0, 0) + "', blob size: " + MemorySize(GetDatabaseBlob(0, 1))
      Wend
    
      FinishDatabaseQuery(0)
    Else 
      Debug  "query error: " + DatabaseError()
    EndIf
  EndIf

See Also

DatabaseUpdate(), GetDatabaseBlob()

Supported OS

All

<- OpenDatabase() - Database Index - SetDatabaseDouble() ->