GetDatabaseBlob()
Syntax
*Buffer = GetDatabaseBlob(#Database, Column)Description
Returns the content of the specified database colum as a new memory buffer. This command is only valid after a successful FirstDatabaseRow() or NextDatabaseRow().
Parameters
#Database The database to use. Column The column to use. DatabaseColumnIndex() is available to get the index of a named column.
Return value
Returns the new memory buffer contained the blob, or zero if it failed. The returned memory buffer is allocated with AllocateMemory()() and must be freed with FreeMemory()() when no more used.
Remarks
To determine the size of the blob, MemorySize() can be used.
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
GetDatabaseDouble(), GetDatabaseFloat(), GetDatabaseLong(), GetDatabaseString(), GetDatabaseQuad()
Supported OS
All