var
Stream:TMemoryStream;
Stream1:TStream;
begin
with form1.ClientDataSet1 do
begin
Edit;
Stream:=TMemoryStream.Create;
Stream.Position:=0;
form1.Memo1.Lines.SaveToStream(Stream);
Stream1:=CreateBlobStream(FieldByName('BlobField'),bmReadWrite);
try
Stream1.CopyFrom(Stream,Stream.Size);//这里出错"Stream Read Error"
Post;
finally
Stream1.Free;
end;
Stream.Free;
end;
为什么呢?
Stream:TMemoryStream;
Stream1:TStream;
begin
with form1.ClientDataSet1 do
begin
Edit;
Stream:=TMemoryStream.Create;
Stream.Position:=0;
form1.Memo1.Lines.SaveToStream(Stream);
Stream1:=CreateBlobStream(FieldByName('BlobField'),bmReadWrite);
try
Stream1.CopyFrom(Stream,Stream.Size);//这里出错"Stream Read Error"
Post;
finally
Stream1.Free;
end;
Stream.Free;
end;
为什么呢?
解决方案 »
- 三国啥时候还我的两千分???
- delphi多线程问题
- 如何用程序修改符点型字段的默认值(SQL2000)
- 到了凌晨6:28一无所获!请高手帮看看代码错在哪里?
- 高分求关于系统内码的问题!请帮忙。。。。!!
- SOS! PrintDBGridEh调用PrinterSetupDialog设置打印机纸纸方向后,然后在预览和打印中居然不起效?
- 请问我该怎样上QQ,端口给封了,还有其他的办法能进入吗/
- 各位帮个忙。。。。
- 如何通过拨号远程上传数据进行数据库更新??紧急!!!
- 如何不借助外挂数据库,就能够存储我的数据,并能进行一般的插入,删除和查询操作?就像一般的软件一样?
- 如何判断一个触发器的存在?
- 在线等待,怎样获得指定文件夹下的文件和文件夹的个数和名称
...
Stream1:=CreateBlobStream(FieldByName('BlobField') as TBlobField,bmWrite);
try
Stream1.Assign(Stream);
....
我是这么写的,一切正常
依旧!!!!!!!!
高手,在哪里;高手,在闪烁!
Stream:TMemoryStream;
Stream1:TStream;
begin
with form1.ClientDataSet1 do
begin
Edit;
Stream:=TMemoryStream.Create;
// Stream.Position:=0;(原先)
form1.Memo1.Lines.SaveToStream(Stream);
Stream.Position:=0;驱 //(现在)
Stream1:=CreateBlobStream(FieldByName('BlobField'),bmReadWrite);
try
Stream1.CopyFrom(Stream,Stream.Size);//不出错"Stream Read Error"
Post;
finally
Stream1.Free;
end;
Stream.Free;
end;
但是没有保存到记录中!????
问题出在以下位置:
1。Stream.Position:=0;
form1.Memo1.Lines.SaveToStream(Stream);
改为:
form1.Memo1.Lines.SaveToStream(Stream);
Stream.Position:=0;
2,Post;
把Post去掉即可,否则会重复保存,所以报错
Stream:TMemoryStream;
Stream1:TStream;
begin
with form1.ClientDataSet1 do
begin
Edit;
Stream:=TMemoryStream.Create;
form1.Memo1.Lines.SaveToStream(Stream);
Stream.Position:=0;
Stream1:=CreateBlobStream(FieldByName('BlobField'),bmReadWrite);
try
Stream1.CopyFrom(Stream,Stream.Size);
Post;
finally
Stream1.Free;
end;
Stream.Free;
end;
已经在 AfterPost 里写了 applyupdate
但是仍没有保存到记录中!????
Stream:TMemoryStream;
begin
with form1.ClientDataSet1 do
begin
Edit;
Stream:=TMemoryStream.Create;
form1.Memo1.Lines.SaveToStream(Stream);
Stream.Position:=0;
try
TBlobField(FieldByName('BlobField')).LoadFromStream(Stream);
Post;
finally
Stream.Free;
end;
end;
已经在 AfterPost 里写了 applyupdate
但是
ORA-01465 : 无效的十六进制数字
快疯了!