Delphi 如何将二维数组数据 以Blob 存入数据库中 并读取

Delphi 如何将二维数组数据  以Blob 存入数据库中  并读取 

var
TwoMatrix,TwoMatrixRet:array[0..39] of array[0..39] of Int16;
  Row: Integer;
  Col: Integer;
ms:TMemoryStream;
ms1:TStream;
len:integer;
  I: Integer;
begin

for Row := 0 to 40 - 1 do
begin
  for Col := 0 to 40 - 1 do
  begin
     TwoMatrix[Row][Col]:=Random(255);
     TwoMatrixRet[Row][Col]:=0;
  end;
end;

    ms:=TMemoryStream.Create;
    ms.SetSize(40*40*2);
    Move(TwoMatrix[0][0],ms.Memory^,40*40*2);

  //1、尝试连接数据库
       if UniConnectionTB.Connected = false then   //
       begin
       UniConnectionTB.Connect;
       end;

//2、写入 更新数据
      UniQueryTB.Close;
      UniQueryTB.SQL.Clear;
      UniQueryTB.SQL.Add('update twomatrixtable set ID=:ID, TwoMatrix=:TwoMatrix ');
      UniQueryTB.SQL.Add('where  (ID=:A_ID)  ');
      UniQueryTB.ParamByName('ID').value := 1;
      UniQueryTB.ParamByName('TwoMatrix').LoadFromStream(ms,ftBlob);

      UniQueryTB.ParamByName('A_ID').value := 1;
      UniQueryTB.ExecSQL;

//3、读出来
      UniQueryTB.Close;
      UniQueryTB.SQL.Clear;
      UniQueryTB.SQL.Add('select *from twomatrixtable where ID =1 ');
      UniQueryTB.Open;

      ms1:= UniQueryTB.CreateBlobStream( UniQueryTB.FieldByName('TwoMatrix'),TBlobStreamMode.bmRead);

      Len := ms1.Size;
      MS1.Read(TwoMatrixRet,len);


end.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值