"Une colonne non BLOB dans la table est necessaire pou effectuer l'opération"

nesbla Messages postés 1 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 22 juin 2004 - 22 juin 2004 à 09:44
smago75 Messages postés 1 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 8 mars 2005 - 8 mars 2005 à 09:57
Bonjour,

j'ai une fiche avec quelques composants dont un DBMemo qui est relié à un champs BLOB dans ma base de donnée Oracle 8. Lors de l'utilisation du programme, je remplis tout les champs et lorsque j'enregistre dans la table (post) j'ai un message d'erreur : "Une colonne non BLOB dans la table est necessaire pou effectuer l'opération".... Cependant l'enregistrement s'effectue correctement. Ce message n'apparait pas si je le fait en deux fois : je remplis tout les champs sauf le Memo et je valide puis je modifie l'enregistrement en rajoutant le contenu du mémo... Etrange....

Quelqu'un saurait comment faire pour stopper ce vilain message d'erreur ?

merci d'avance

1 réponse

smago75 Messages postés 1 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 8 mars 2005
8 mars 2005 à 09:57
Salut nesbla



Désolé de ne repondre que maintenant je sais même pas si tu lira ce
post. J'ai trouve ton message parce que j'ai eu la même erreur avec
delphi 5 et une base access. En effet j'essaye de mettre des petites
icones dans une base access dans un champs OLE. Et quand je valide un
ajout pif ça plante... je pencherais pour un probleme de cles, ce qui
expliquerais l'erreur puisque comme toi si je rempli les champs sans
rempir le champ image et que je valide cela ne génére aucune erreur.

En gros pour resoudre mon probleme j'ai tout fais à la main

Un bouton pour ajouter une ligne vide

- (INSERT INTO TABLE (Champs1, Champs2,..) VALUES(VAL1, VAL2,..))

- Je me positionne sur le dernier element de la liste (logiquement celui que je vien de creer)

UNe fois que ma ligne est créée je donne l'autorisation à l'utilisateur
d'ajouter une image (enfin reellement de modifier la ligne qui vient
d'être créée)



Je sais pas si je me fais bien comprendre c'est pas facile à expliquer

Donc voila une exemple: Une table Icones avec 3 champs (Cle (numauto), Nom (Nom de l'icone), Image (OLE))



procedure TForm1.AjouterClick(Sender: TObject);

begin

Query1.SQL.Text:='INSERT INTO Icones(Nom) VALUES(Null);';

Query1.ExecSQL;

Table1.Refresh;

Table1.Last

end;
0