Toon posts:

[sql] Non-Blob kolom?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een tabel in Access. Die tabel bevat een kolom genaamd omschrijving. Dus het tekst wat je wilt opslaan kan heel groot zijn. Dus de datatype van die kolom heb ik op Memo gezet, maar als ik van uit mijn C++ (BCB5) applicatie iets wilt opslaan dan krijg ik de melding:
"Non-Blob column in table required to perform operation".
Ik krijf dus die melding, maar hij slaat hem wel op.
Kan iemand mij uitleggen wat Non-Blob kolom is en hoe ik dit kan verhelpen? Ben niet echt handig met Access.

thanks

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Non-Blob column in table required to perform operation
Als je nou eerst eens nagaat welke operation dat is, en het ons vertelt ...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Onno
  • Registratie: Juni 1999
  • Niet online
BLOB (Binary Large Object) is een kolomtype waar meestal zo'n 4GB in past, extreem veel dus. Maar omdat die waarden zo groot kunnen zijn, worden ze vaak buiten de normale tabel opgeslagen, en staat er in de tabel alleen een 'pointer' naar de echte BLOB. Daardoor heb je soms speciale functies nodig om BLOBs te bewerken. (het kan dus wel, maar het werkt iets anders dan bij normale kolommen)
En 'Memo' is in Access kennelijk een aliasje voor BLOB.

Je kunt dus op zoek gaan naar de juiste manier om BLOBs te bewerken, of een ander datatype kiezen. Geen idee welke, ik ben niet bekend met Access. :)

Verwijderd

Topicstarter
Op dinsdag 27 november 2001 10:29 schreef drm het volgende:

[..]

Als je nou eerst eens nagaat welke operation dat is, en het ons vertelt ...
Als ik iets naar de DB post krijg ik dat bericht.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Hoe? Met wat voor code doe je dat?

Verwijderd

Topicstarter
Op dinsdag 27 november 2001 11:20 schreef Onno het volgende:
Hoe? Met wat voor code doe je dat?
in c++;

DataModuleAktieL->TableAktieOpslaan->Fields->Fields[4]->Value=MyForm->MyOmschrijving->Text;

DataModuleAktieL->TableAktieOpslaan->Post();
Na die post krijg ik die melding.
Ik heb het ook anders geprobeerd, door inplaats van een gewone Memo(MyOmschrijving) een DBMemo te gebruiken, maar ik krijg steeds dezelfde melding.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op dinsdag 27 november 2001 11:31 schreef puja het volgende:
DataModuleAktieL->TableAktieOpslaan->Fields->Fields[4]->Value=MyForm->MyOmschrijving->Text;
Je moet DataModuleAktieL->TableAktieOpslaan->CreateBlobStream() gebruiken voor BLOBs. In de help staat wel hoe je dat precies gebruiken kunt.
Pagina: 1