invalid field type(100分)

  • 主题发起人 主题发起人 monkeyboys
  • 开始时间 开始时间
M

monkeyboys

Unregistered / Unconfirmed
GUEST, unregistred user!
急于求助!
var
ss:string;
tempstream:tmemorystream;
begin
TempStream := TMemoryStream.Create;
query2.close;
query2.sql.clear;
ss:='select * from icon_bmp where code=''%s'' ';
ss:=format(ss,[query1.fieldbyname('code').asstring]);
query2.sql.add(ss);
query2.open;

try
TBlobField(query2.FieldByName('memo')).SaveToStream(TempStream);
TempStream.Position := 0;
image1.Picture.Graphic.Assign(TPersistent(TempStream));
finally
TempStream.Free;
end;

运行时报错:invalid field type
其中memo为BLOB类型,那么请问我如何在
TBlobField(query2.FieldByName('memo')).SaveToStream(TempStream);
这里得到blob的值?
 
只要那个字段有内容,应该是没有问题的呀
你判断一下试试。 TField.isnull判断是不是为null
 
不行呀,这个表的MEMO字段不为空哦,但是一样出错。
谁有好的办法?
 
建立字段对象
 
试试下面的方法:

var
ss:string;
g1:TBlobField;
begin
TempStream := TMemoryStream.Create;
query2.close;
query2.sql.clear;
g1:=TBlobField.Create(self);
g1.FieldName:='memo';
g1.DataSet:=Query2;

ss:='select * from icon_bmp where code=''%s'' ';
ss:=format(ss,[query1.fieldbyname('code').asstring]);
query2.sql.add(ss);
query2.open;

g1.SaveToFile(tempfile);
g1.free;
image1.Picture.loadfromfile(tempfile);

end;
 
天,还是报同样的错啊!
是不是我在哪里设计错了?
无法指向此表名的MEMO字段,所以也无法读取此字段的值。
 
你用的什么数据库?怎么连接的(ODBC/SQLLINK/ADO)?
可能是缓冲区的问题
 
多人接受答案了。
 
后退
顶部