Solved

Invalid BLOB handle in record buffer - error

Posted on 2004-03-21
6
1,055 Views
Last Modified: 2007-12-19
I have a problem with my code. I need to extract the text from the blob field of an Access database table.
I use a stringgrid (kStringGrid) where I want to push all the records of the table initial Access table. This table has a BLOB field which I cannot view unles I use a DBMemo. What I'm trying to do is take each record from the first to the last and save the fields I'm interested in to the stringgrid. I built a procedure to do that.
So my code  looks like this:


procedure upd_ann;
var
 data,s,p,u,stare:string;
 size:string;
begin
with form1 do
 begin
        q1.Active:=false;
        q1.Active:=true;
        q1.FindLast;
        u:=DBGrid1.Fields[0].AsString;
        q1.FindFirst;
        p:=DBGrid1.Fields[0].AsString;
        Memo3.Lines:=DBMemo1.Lines;
        If u<>p then
        repeat
                q1.FindNext;
                p:=DBGrid1.Fields[0].AsString; //field 1 (string)
                s:=Memo3.Lines.Strings[1];     //                                   FIELD 2 (comment) THE BLOB I NEED
                data:=DateTimeToStr(DBGrid1.Fields[2].AsDateTime);
                kStringgrid2.AddRow;
                kStringgrid2.Cells[1,kStringgrid2.Row]:=p;
                kStringgrid2.Cells[2,kStringgrid2.Row]:=s;
                kStringgrid2.Cells[5,kStringgrid2.Row]:=data;
        until u=p;
 end;


end;



Can anyone tell me what may be wrong about this. I read a few lines about this error but I could not solve my problem though. They wer about BLOB CACHE size... .
I'm sure I'm not the first that encounters this problem nor this error.
Any good code is welcome.
0
Comment
Question by:calinutz
  • 4
  • 2
6 Comments
 
LVL 11

Author Comment

by:calinutz
ID: 10657362
Yes... I forgot to mention that I use DBGrid1 to retrieve the dataset containing the blob field, and on the first column of the DBGrid there's the primary key. And then I use the DBMemo to view (and get) the BLOB.

Come on guys... there must be someone that encountererd this kind of situation before, I can't be the first.
0
 

Expert Comment

by:lbellego
ID: 10759454
Invalid blob handle appears when the BDE has not enought cache.
Use BDE Administrator and insert 400 to Blob Size and 1000 to Blob Cache.
We have this problem for doing repports with lots of blob and it's the solution...the problem is the BDE.
0
 
LVL 11

Author Comment

by:calinutz
ID: 10772126
Thanks, but: 'I read a few lines about this error but I could not solve my problem though. They wer about BLOB CACHE size...'. I already tryed that as I mentioned above and it seems that it still doesn't work.
Any other ideea?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Accepted Solution

by:
lbellego earned 85 total points
ID: 10774493
If I remember correctly, verify if the query component have RequestLive=False and if you can put Unidirectional=True (and read all the rows for the grid).
A blob can't be retreived by assignation and can't be assign with = (you can't use Field[2].AsBlob= something or retreive something with variable=FIelds[2].AsBlob). You have to use a stream or another thing to do that.
0
 
LVL 11

Author Comment

by:calinutz
ID: 10794326
Right now I'm installing Win 2003 Server on my comp and I have to reinstall Delphi and all the components and just after that I will be able to try your solution. It will probabely take a day or 2 to backup my files and all but as soon as I finish I promise you that I will try your solution. Maybe it will work.

Anyways... Happy Easter, and thank you for trying to answer my question , seems like noone else bothered.
0
 
LVL 11

Author Comment

by:calinutz
ID: 12918324
lbellego - I did not solve my problem but thanks for the interest in my problem though. Sorry for keeping you so long before giving you the points. I will try a workaround with my problem somehow.
Thanks anyway, and the points are yours for trying.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Mydac connection data base issue 3 140
Simple Delphi Question 9 83
QRReport  TQrmemo vertical stretching 1 42
RESTRequest Parameter 4 14
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

896 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now