SetDatabaseBlob()

Syntax

SetDatabaseBlob(#Datenbank, StatementIndex, *Puffer, PufferLänge)
Beschreibung
Richtet den Blob für die weitere Verwendung mit DatabaseUpdate() ein.

Parameter

#Datenbank Gibt die zu verwendende Datenbank an.
StatementIndex Gibt an, für welchen unbestimmten Abfrage-Parameter (englisch: "undefined query parameter") der Blob eingefügt werden soll. Der SQL-Syntax zum Angeben unbestimmter Parameter ist abhängig vom Datenbank-Manager. Siehe die folgenden Beispiele, um zu sehen wie dies gemacht wird.
*Puffer Gibt die Adresse der Blob-Daten an.
PufferLänge Gibt die Größe der Blob-Daten in Bytes an.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel: SQLite und ODBC

  ; SQLite und ODBC verwenden den gleichen Syntax, um Blobs einzufügen. Diese werden mit dem '?' Zeichen angegeben.
  ;
  ; Die Datenbank sollte geöffnet sein und eine Tabelle PHOTOS mit 3 Feldern (BLOB, VARCHAR(255), BLOB) haben.
  ;
  SetDatabaseBlob(0, 0, ?Picture, PictureLength)
  SetDatabaseBlob(0, 1, ?SmallPicture, SmallPictureLength)
  DatabaseUpdate(0, "INSERT INTO PHOTOS (picture, name, small_picture) values (?, 'my description', ?);")

Beispiel: PostgreSQL

  ; PostgreSQL verwendet einen anderen Syntax: $1, $2.. im Statement, um die unbestimmten Parameter anzugeben.
  ;
  ; Die Datenbank sollte geöffnet sein und eine Tabelle PHOTOS mit 3 Feldern (BYTEA, VARCHAR(255), BYTEA) haben.
  ;
  SetDatabaseBlob(0, 0, ?Picture, PictureLength)
  SetDatabaseBlob(0, 1, ?SmallPicture, SmallPictureLength)
  DatabaseUpdate(0, "INSERT INTO PHOTOS (picture, name, small_picture) values ($1, 'my description', $2);")
Hinweis: PostgreSQL verwendet BYTEA zum Speichern großer Objekte. Das "Escaping" (Sperren), was zum Speichern binärer Daten in einem solchen Feld benötigt wird, macht es oft größer als nötig. Eine gute Möglichkeit zum Speichern binärer Daten ist es, diese mit Base64Encoder() zu verschlüsseln, bevor sie an den Datenbank-Manager übergeben werden.

Siehe auch

DatabaseUpdate(), GetDatabaseBlob()

Unterstützte OS

Alle

<- PreviousDatabaseRow() - Database Inhaltsverzeichnis - UseODBCDatabase() ->