请教个问题!

风之谷 2010-04-29 03:00:31
1,delphi中XMl attribute.value中流的读写
2,adoquery clientdataset savetofile xml 时 流字段的存储方式

帮忙讲解下
...全文
165 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wliaoc 2010-05-06
  • 打赏
  • 举报
回复
恭喜楼主,jf了
hongss 2010-05-05
  • 打赏
  • 举报
回复
我是来学习的
sky198306 2010-05-05
  • 打赏
  • 举报
回复
只能够友情帮顶这个确实没用过
风之谷 2010-05-05
  • 打赏
  • 举报
回复
研究后发现


SQLSERVER数据库保存image字段讲二进制流转换为十六进制字符串进行保存,
ado并没进行编码处理,只是将16进制字符串写入文件

在处理这些问题时只需使用hextobin,bintohex函数 就可以了,

hextobin对16进制字符串进行处理前,需要全部转小写以及对每行字符串进行trim处理,然后重组一列字符串,然后通过hextobin处理后,得到二进制值,写入流中
风之谷 2010-05-04
  • 打赏
  • 举报
回复
UPUPUPUP
风之谷 2010-05-04
  • 打赏
  • 举报
回复
是这样的,要求是解析adoquery.savetofile后的XML,但是始终对立面的blob字段解析不正确,

有人说adoquery保存前事 采用utf8编码的 但是我测试后还是不成功,

怎么办 有人知道吗
风之谷 2010-05-04
  • 打赏
  • 举报
回复
顶上去啊,各位大大帮忙
chdaner 2010-04-29
  • 打赏
  • 举报
回复
关注,学习一下
hanks_gao 2010-04-29
  • 打赏
  • 举报
回复
幫頂!
风之谷 2010-04-29
  • 打赏
  • 举报
回复
adoquery 的savetofile 谁帮忙解释下,对blob如何处理的
风之谷 2010-04-29
  • 打赏
  • 举报
回复
测试了一下:

var
MM:TStringStream;
Re:String;
newNode, newNodeAdd: IXMLNode;
begin
MM:=TStringStream.Create('');
Img1.Picture.Bitmap.SaveToStream(MM);
MM.Position:=0;
Re:=StrToBase64(MM.DataString);
XMLDocument1.XML.Clear;
XMLDocument1.Active := True; {必须先激活}
XMLDocument1.Version := '1.0'; {设置版本}
XMLDocument1.Encoding := 'GB2312';
newNode := XMLDocument1.AddChild('科室名单');
newNodeAdd:=newNode.AddChild('人员');
newNodeAdd.SetAttribute('职务', Re);
XMLDocument1.SaveToFile('D:\4.XML');
Showmessage(Inttostr(MM.Size));
MM.Free;

以上将图片写到string流中,然后通过base64编码后,写入xml
var
MM:TStringStream;
Tem:Base64String;
begin
Tem:=XMLDocument1.DocumentElement.ChildNodes[0].Attributes['职务'];
Tem:=Base64ToStr(Tem);
MM:=TStringStream.Create(Tem);
MM.Position:=0;
Showmessage(Inttostr(MM.Size));
IMG2.Picture.Bitmap.LoadFromStream(mm);
mm.Free;

解码还原图 成功 没错

还有一个问题ado的savetofile 是否采用的也是base64
风之谷 2010-04-29
  • 打赏
  • 举报
回复
2,adoquery clientdataset savetofile xml 时 流字段的存储方式

delphi中数据集对blob字段的存储也是采用base64编码吗
hongqi162 2010-04-29
  • 打赏
  • 举报
回复
base64
柯本 2010-04-29
  • 打赏
  • 举报
回复
没用过,帮顶
亮剑_ 2010-04-29
  • 打赏
  • 举报
回复
一般用base64编码
速度会慢一点
风之谷 2010-04-29
  • 打赏
  • 举报
回复
来人哪

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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