begin process at 2012 05 27 22:38:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Base de données

 > 

Access

 > 

indexer des composants


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

indexer des composants

samedi 27 novembre 2004 à 07:16:18 | indexer des composants

bilou2000

bonjours à tous

voila, j'ai 6 Tblobfields Je voudrais les lire avec un boucle du style for ...

for CmpTBoucle:= 0 to 1 do
begin

Monblobfield.Name:= montblobfield+IntToStr(2) ;

MonBlob := Tblobstream.create(monblobfield, bmRead);
BuFMaPhrase.Position:= Sauvpos;

le probleme est que lorsque je crée monblob il y une erreur.
si je ne precise pas monblobfield.name =>incompatibilité .
comment arriver à copier mes 6 blob dans "monblobfield" en faisant une boucle.


Merci ......
samedi 27 novembre 2004 à 22:39:48 | Re : indexés comosants

Delphiprog

Administrateur CodeS-SourceS
Voilà une solution générique :


var
i, ii: integer;
IbDataSet: TIbDataSet;
BlobField: TBlobField;
Stream: TStream;
begin
for i := 0 to ComponentCount - 1 do
//repérer les composants TIbTable ou TIbQuery
if Components[i] is TIbDataSet then
begin
IbDataSet := TIbDataSet(Components[i]);
//inspection des champs de l'ensemble de données
for ii := 0 to IbDataSet.FieldCount - 1 do
//à la recherche des champs blobs
if IbDataSet.Fields[ii] is TBlobField then
begin
//on en tient un !
BlobField := IbDataSet.Fields[ii];
//Création d'un flux en lecture
Stream := IbDataSet.CreateBlobStream(BlobField, bmRead);
try
{....là, tu peux utiliser ton stream....}
finally
Stream.Free;
end;
end;{if IbDataSet.Fields[ii] is TBlobField}
end; {for ii := 0 to IbDataSet.FieldCount - 1}
end;

C'est plus clair ?

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
samedi 27 novembre 2004 à 22:42:09 | Re : indexés composants

Delphiprog

Administrateur CodeS-SourceS
Erratum :
une erreur s'est glissée dans la ligne:

//on en tient un !
BlobField := IbDataSet.Fields[ii];


Il faut écrire à la place :

//on en tient un !
BlobField := IbDataSet.Fields[ii] as TBlobField;

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
lundi 22 janvier 2007 à 11:59:05 | Re : indexés comosants

nitrique

Bonjour, Je n'ai pas de dataset, mais suis directement connecté a l'ADOQuery, je procède comme suit: monFlux := adoqTemplate.CreateBlobStream(TBlobField(adoqTemplate.FieldByName('impimg')), bmRead); Seulement, ce n'est pas un tStream mais un tMemoryStrem, il me fair une erreur. Comment faire ?
lundi 22 janvier 2007 à 12:18:35 | Re : indexés comosants

nitrique

J'ai essayé de le caster: monFlux := TMemoryStream(adoqTemplate.CreateBlobStream(TBlobField(adoqTemplate.FieldByName('impimg')), bmRead)); Mais lors du chargement, il me met: Erreur de lecture de flux. :-( Je pense qu'il est bon de repartir depuis le début. En fait, j'essaye de sauvegarder un tImage32 dans un champ "mémo" (equivalent de blob je pense) d'une table Access. Voici comment je procède pour l'enregistrement: imgTmp := TBitmap32.Create(); imgTmp.LoadFromFile(opdMain.FileName); monFlux := TMemoryStream.Create(); imgTmp.SaveToStream(monFlux); monFlux.Position := 0; TBlobField(adoqTemplate.FieldByName('impImg')).LoadFromStream(monFlux); imgTmp.Free; monFlux.free; Ca a l'air de marcher (même si je m'étonne que dans mon champ, il n'y ai que: "BM|?" pour une image, mais je me dis qu'il doit y avoir des caractères invisibles ou cachés). Seulement, je ne sais pas comment recharger mon flux.
mercredi 7 février 2007 à 11:08:35 | Re : indexer des composants

frdriss

Je pense que le problème vient du type de ton champs.
Si tu crée dans une table de base de données "Access" un champs de type Mémo on peux y stoquer du text sans problème; par contre on ne peut y stoquer une valeures binaire car il y a de fortes chances que notre flux qu l'on veut stocker contient des caractère spécieaux dont celui de fin de chaîne de caractère. donc votre flux sera tranqué lors de son enregistrement donc vous perdez vous données.
Vous pouvez modifier le type de votre champs "Mémo" en "Binaire" en spécifiant la taille de ce champs. et utiliser le même code que vous a proposé Delphiprog.
Remarque : Le type "Binaire" ne figure pas dans la liste des types d'Access il faut le saisir à la main.

Driss



Cette discussion est classée dans : boucle, for, composants, indexer, monblobfield


Répondre à ce message

Sujets en rapport avec ce message

error 80020009 dans une boucle for [ par jibchamonix ] Bonjour à tous,J'affiche des photos de produits dans un tableau. J'utilise une boucle "for" ("do until" pour être exact). Les photos s'affichent sans Exécuter une requette mysql via boucle for [ par peoplehard ] BonjourJ'aimerai que le arrayjour(i) soit exécuté via la boucle for. Mais ça me retourne: <font style="color: rgb(0, 0, 0); font-family: verdana; font Quitter une boucle for [ par flolag ] Salut,Je pense que ma question est basic mais je voudrais savoir en ASP comment fait on pour quitter une boucle for.Car dans mon cas j'ai un tableau d boucle for pour creer des DDLs [ par sofiesofie ] salut,je veux créer des dropdown list (DDL) selon le nombre j (par exemple j=3)for(int i=0 ; i{        ///code pour créer la DDL de valeurs( 1, 2)}res création des textbox [ par sofiesofie ] salut, je veux créer des text box dans une boucle for selon une variable j ( que je l'ai fixé pour le moment à3: j=3)for (int i = 0; i { <br recordset asp et boucle do [ par tempus75 ] bonjour a tous, j'ai un leger probleme avec mon code, il doit representer graphiquement (avec un tableau) une salle de theatre et afficher en rouge le Comment savoir quels sont les composants installés ? [ par Cedric ] Existe-t-il un moyen de savoir quels sont les composants installés sur un serveur IIS sans se taper la registry ?Merci :-) boucle [ par rony ] bjr,j'essaye de faire fonctionner el code ci dessous mais je mis prend très malif prodRS( "prixpromo" )"" then %><% je cherche les composants tools, page counter et counter........ [ par valek ] bonjour, je cherche ces differents composants a telecharger. y a t il une adresse ou je peux les avoirs ???Une fois recuperé ces fichiers doivent ils


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales