Je reçois un objet TByteDynArray qui représente des données binaires (fichier) que je veux stocker dans la table de base de données MS SQL Server dans la colonne varbinary (MAX). Comment puis-je le faire? J'utilise les composants C++ Builder XE7 et ADO et je voudrais éviter d'utiliser TADOTable car cela me forcerait à charger la totalité de la table.Comment enregistrer l'objet TByteDynArray dans la colonne varbinary SQL Server (MAX)?
0
A
Répondre
0
Vous devez d'abord créer un objet de flux ADO avec vos données.
http://www.w3schools.com/asp/ado_ref_stream.asp
Ensuite, en utilisant ADO "connection-> exécuter" commande, insérez l'objet de flux dans la table et la colonne instruction à l'aide de SQL "INSERT" respectifs.
0
Si vous utilisez TADOQuery
, vous pouvez Insert()
ou Edit()
une ligne, puis appelez la méthode CreateBlobStream()
pour le champ souhaité dans cette ligne, et écrivez vos octets à l'objet fourni TStream
.
En termes Delphi, vous utiliseriez 'TADOConnection.Execute()', ou un 'TADOCommand' ou' TADOQuery', pour exécuter une instruction SQL 'INSERT'. Mais vous ne pouvez pas insérer un objet de flux ADO avec l'un d'entre eux. –
Ok .. compris – Naidu