咋就不明白呢!!!!!!!!!!!11

bloodghost 2005-03-23 01:52:14
在网上看到的一段存取SQL server 的Binary 型的代码如下

function SavetoDataBase(const Stream:TStream; const AField:TField):boolean;
var
FieldStr : string;
PFieldStr: PChar;
begin
Result := false;
if (Assigned(AField)) and (Assigned(Stream)) then
begin
try
Stream.Seek(0,0);
SetLength(FieldStr,Stream.Size);
PFieldStr := PChar(FieldStr);
Stream.Read(PFieldStr^,Stream.Size);
AField.Value := FieldStr; //执行到这句出错
result := true;
except
On E: Exception do
begin
E.Message := '存储数据时出错';
Raise;
end;
end;
end;
end;

=================================================================================
SQL Server 的字段类型设为 Image时没有任何问题,如果把字段类型改为Binary时就出错,提示“
Invalid variant type or size for field 'BinaryData'”,其中"BinaryData"这时的类型为"binary"

...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodghost 2005-03-23
  • 打赏
  • 举报
回复
咋就没人帮我呢,我自已顶一下。
倒杯水继续思考... ...
bloodghost 2005-03-23
  • 打赏
  • 举报
回复
补充一下:
字段类型为:Image 和 binary 跟踪代码如下:
1、为Image
AField.Value := FieldStr;
|___通过watch查看为''
2、为binary
AField.Value := FieldStr;
|___通过watch查看为null

问题是不是在这里,是的话该怎么解决呀?
bloodghost 2005-03-23
  • 打赏
  • 举报
回复
没有呀,我用只有几个字节的文本文件试了,也提示出错的
web700 2005-03-23
  • 打赏
  • 举报
回复
所存的东西是不是太大了?

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧