Delphi報表打印時提示“Invalid Blob handle in record buffer”,怎麽回事? (100分)

  • 主题发起人 主题发起人 hiyar
  • 开始时间 开始时间
H

hiyar

Unregistered / Unconfirmed
GUEST, unregistred user!
報表里用一個query查詢,結果有三萬多條學生紀錄,以班級分組,大概有一千多個班級,
在放每個班級的groupheader中有個字段是“上課地點”,
取自於oracle數據庫中的一個字段,此字段為varchar2類型,長度為350。
打印時就提示如題錯誤,然後打到有“上課地點”那個band時就停止。
另外,我也做了一些處理:如將BLOBS TO CACHE屬性設置到最大65536,
把BLOB SIZE屬性設置到最大1000,問題依舊。只有減小數據量,用幾十條紀錄時正常。
我想問題可能是查詢結果中BLOB類型RECORD的數量太多所致。於是改變query的寫法,
用兩個query,寫成Master/Detail的形式,主表查詢班級,明細表查詢學生,
結果不管數據量多少都提示同樣的錯誤。
是不是Delphi對oracle中超過255長度的varchar2類型字段支持得不是很好的原因阿?
我做過一個測試:一個簡單的query查詢包含以上類型字段的紀錄,結果可以出來,
但是recordcount屬性的值卻為-1,faint。
怎麽辦?怎麽辦?
 
要recordcount请先query.last
否则自己 select count(*) from ... where
---
http://www.8421.org
 
qdyoung, 你是對的,但我前面的問題怎麽辦?
 
用ado是没有这样问题的。
 
可能是报表的问题,qr经常出问题,可以尝试用report builder
 
結貼散分!
 
后退
顶部