SetDatabaseBlob()

Syntax

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

Parameter

#Datenbank Die zu verwendende Datenbank.
StatementIndex Unbestimmter Abfrage-Parameter-Index (englisch: "undefined query parameter index"), für welchen der Blob eingefügt werden soll. Der erste unbestimmte Abfrage-Parameter-Index beginnt bei Null. 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 Die Adresse der Blob-Daten.
PufferLänge Die Größe der Blob-Daten in Bytes.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel: SQLite, MySQL und ODBC

  ; SQLite, MySQL 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 - SetDatabaseDouble() ->