上一个帖子人气太少,新开一个帖子解决问题!在上一个帖子和本帖子up的人都有分!
http://expert.csdn.net/Expert/topic/2433/2433072.xml?temp=.1897699
问题总结如下:
我想读取一个字段中的数据
这个字段类型是varchar2(1500)
数据库是Oracle用Query来读取
Tempquery.FieldByName(Fieldname).AsString
delphi显示错误为“Invalid BLOB handle in record buffer”Tempquery.FieldByName(Fieldname).Value也读取不出有人建议将字段类型改为:BLOB
但是我没有使用过BLOB类型,不太会操作,请各位高手指教!!

解决方案 »

  1.   

    不知你是通過BDE還是通過ODBC連接的數據庫?
    你可以通過增加BDE中的BLOB SIZE的值來試試,有時如果該項的值太小,可能造成錯誤。
    如保存圖片時,可能會不是把該圖片全部存進數據庫中,而是隻存進了一部分。
    祝你好運!!
      

  2.   

    在sql server中varchar的最大长度是255;可以将字段类型改为text属性;其他的操作不变;没用过oracle;不过想来也差不多;
    你自己试着操作下;
      

  3.   

    没用过Oracle
    但是,同意47522341(睡到8:30) 的所发。
    UP
      

  4.   

    如果通过ODBC直接连接不行,还是改为text型算了
      

  5.   

    我是楼主
    To:47522341(睡到8:30) 
    这个字段类型是varchar2,而不是varchar
    To: angwin()
    我用的是ODBC连接的数据库是否ODBC也有大小限制?
      

  6.   

    varchar2?这是什么数据类型?没有听说过啊
    推荐改为text,不过可能oracle不支持text,不过记得oracle有一种类型可以支持2000个字符左右的。
      

  7.   

    我是楼主好像oracle不支持text吧
      

  8.   

    设置
    BLOB SIZE
    试试
      

  9.   

    varchar2=varchar
    但是如果超过1000最好用CLOB类型;用BLOB会在访问时出毛病(用ADO连接)
      

  10.   


    设置 BLOB SIZE 
      

  11.   

    delphi中最大的字串只有255個阿
    是不是在讀出來的時候放在數組中
      

  12.   

    Blob就要读到StringStream再转换为String了
    操作与其他一样的,我没有Oracle那个大家伙,没法做了
      

  13.   

    Oracle没用过呀,不大好办,帮忙UP