SetDatabaseBlob()

Syntaxe

SetDatabaseBlob(#BaseDeDonnees, Index, *Memoire, TailleMemoire)
Description
Indique le blob à insérer lors de la prochaine utilisation de DatabaseUpdate().

Arguments

#BaseDeDonnees La base de données à utiliser.
Index Commence à 0 et indique sur lequel des paramètres non-définis, le blob doit être associé.
La syntaxe SQL pour spécifier un paramètre indéfini varie en fonction de la base de données.
Pour voir comment procéder, consulter les exemples ci-dessous.
*Memoire L'adresse du blob.
TailleMemoire La taille du blob en octets.

Valeur de retour

Aucune.

Exemple: SQLite, MySQL et ODBC

  ; SQLite, MySQL et ODBC partagent la même syntaxe pour insérer un blob. C'est indiqué par le caractère '?'
  ;
  ; La base de données doit être connectée et avoir une table PHOTOS avec 3 colonnes (BLOB, VARCHAR(255), BLOB)
  ;
  SetDatabaseBlob(0, 0, ?Picture, PictureLength)
  SetDatabaseBlob(0, 1, ?SmallPicture, SmallPictureLength)
  DatabaseUpdate(0, "INSERT INTO PHOTOS (picture, name, small_picture) values (?, 'my description', ?);")

Exemple: PostgreSQL

  ; PostgreSQL utilise une autre syntaxe: $1, $2.. dans la requête pour indiquer les paramètres non-définis
  ;
  ; La base de données doit être connectée et avoir une table PHOTOS avec 3 colonnes (BYTEA, VARCHAR(255), BYTEA)
  ;
  SetDatabaseBlob(0, 0, ?Picture, PictureLength)
  SetDatabaseBlob(0, 1, ?SmallPicture, SmallPictureLength)
  DatabaseUpdate(0, "INSERT INTO PHOTOS (picture, name, small_picture) values ($1, 'my description', $2);")
Note: PostgreSQL utilise le type 'BYTEA' pour stocker les blobs. La conversion nécessaire pour stocker du binaire dans ce type de colonne rend souvent le blob très volumineux. Un bon moyen d'éviter cela est de l'encoder précédemment avec Base64Encoder() avant de l'insérer dans la base de données.

Voir aussi

DatabaseUpdate(), GetDatabaseBlob()

OS Supportés

Tous

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