Hello,
J'aimerai faire un insert d'un champ blob, mais je n'y arrive pas.
Je n'arrive pas à déterminé comme d'un chemin d'une image je peux arriver à l'incorporer dans un champs blob.
Pourriez vous m'aider.
Merci d'avance
Hello,
J'aimerai faire un insert d'un champ blob, mais je n'y arrive pas.
Je n'arrive pas à déterminé comme d'un chemin d'une image je peux arriver à l'incorporer dans un champs blob.
Pourriez vous m'aider.
Merci d'avance
Je suis dans interbase 6
Oui j'ai bien compris mais tu utilises Interbase avec quel langage ?
Delphi ? BC++ ? Java ?, autre ?
A moins que tu ne veuilles faire une procédure stoquée mais ca voudrait dire que le fichier que tu veux mettre dans ton blob se trouve sur le serveur ou accéssible via le serveur...
Sorry j'avais pas compris comme ca
Je le fait avec c++ builder 6 pro.
Je fait toutes mes requete, mais le blob je n'y arrive pas, je ne sais pas comment le parametre pour qu'il prenne un chemin de fichier ou pour le convertir pour le mettre dans ma db.
merci
Arff je sais le faire en Delphi mais le C++ ca fait trop longtemps que je n'en ai pas fait...
Mais voilà en Delphi comment on fait :
Je pense qu'en BC++ tu as les même composants et en changeant les . par des -> on doit pas être tres loin....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Query := TIBQuery.Create(self); Query.Database := IBDatabase1; Query.SQL.Add('INSERT ID, MON_BLOB INTO MATABLE'); Query.SQL.Add(' VALUES (:id,:mon_blob)'); Query.ParamByName('id').asString := 'Identifiant1'; Query.ParamByName('mon_blob').loadFromFile('C:\Chemin\Image.jpg',ftblob); Query.Execute;
J'ai esseyer, malheureusement ca ne fonctionne pas et mon projet et un peut loin pour recommencer en Delphi, merci quand meme pour vos informations.
Il n'y a pas de raison que ca ne fonctionne pas sous BC++, Les composants sont les mêmes que ceux de Delphi (d'ailleur l'aide en lignes est la même...)
Donc si ca ne marche pas c'est que tu n'as pas su adapter la syntaxe..
Le principe est assez simple :
Le query qui te sert à l'insersion doit avoir un ordre SQL Insert qui utilise des variables hotes
(dans mon exemple id et mon_blob)
avant l'execution de la requete tu renseigne les variables hotes (Paramètres)
$ParamByName()
et pour le paramètre mon_blob tu lui demande de le lire à partir d'un fichier..
et oui tu a raison, le code va très bien maintenant.
En réalité le ftblob que tu m'avais mis j'ai du le transformé en ftBlob.
Comme quoi, les majuscules sont importante.
Encore un grand merci pour ton aide.
Contant que tu ais réussi, peux tu mettre ton bout de code ici pour les suivants ?
Voila ma solution pour C++ Builer
Merci encore à Barbibulle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 IBQ->Close(); IBQ->SQL->Clear(); IBQ->SQL->Add("insert into TABLE (NOM_COLUM_BLOB) values (:NOM_COLUM_BLOB)"); IBQ->ParamByName("NOM_COLUM_BLOB")->LoadFromFile("c:\\IMAGE.BMP",ftBlob); IBQ->ExecSQL();
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager