Inno Setup字符串文字太长,将BLOB插入表中

时间:2017-10-29 12:28:43

标签: database oracle inno-setup pascal

我试图通过inno setup编写一个脚本,在一个有BLOB列的表中插入raw,我不知道如何正确编写代码,我的数据库是Oracle和我的Inno安装编译器版本也是5.5.3。有人帮我找到解决方案吗?

这是我所有的努力:

var
  Content: String;

try
     ADOCommand := CreateOleObject('ADODB.Command');
     ADOCommand.ActiveConnection := ADOConnection;  
     Stream := TFileStream.Create('D:\test.png', fmOpenRead);
     Count := Stream.Size-1;
     Stream.Seek(-Count, soFromEnd);
     SetLength(Buffer, 1);
     Content := '$' ;
     for Index := 1 to Count do
        begin
          Stream.ReadBuffer(Buffer, 1);
          Content:=  Content + (Format('%2.2x', [Ord(Buffer[1])]));
      end;
     ADOCommand.CommandText :='insert into TestBinaryTable(id, blobData) values(1 ,''' + Content + ''')';
     ADOCommand.Execute();

1 个答案:

答案 0 :(得分:0)

我认为您不应该使用$为原始数据添加前缀。

删除此行:

Content := '$' ;