各位高手请帮我看一下以下代码,将一个数组保存到数据库后再读出来,
不知道为什么其结果与存入的不相符,麻烦大家诊断一下,谢谢!//将0~255的数据填充到Byte类型的数组后保存到Image类型的字段
procedure TForm1.btn1Click(Sender: TObject);
var
i: Integer;
arr: array[0..255] of Byte;
BStream: TStream;
begin
for i:=0 to 255 do
begin
arr[i] := i;
end; qry1.Active := True;
qry1.Edit;
BStream := qry1.CreateBlobStream(qry1.FieldByName('Finger'), bmWrite);
BStream.WriteBuffer(arr, SizeOf(arr));
BStream.Position := 0;
BStream.Free;
qry1.Post;
end;//读出之前存在数据库的数据至数组
procedure TForm1.btn2Click(Sender: TObject);
var
arr: array[0..255] of Byte;
BStream: TStream;
begin
qry1.Active := True;
BStream := qry1.CreateBlobStream(qry1.FieldByName('Finger'), bmRead);
BStream.Position := 0;
BStream.WriteBuffer(arr, SizeOf(arr)); //数组arr中数据不是上面写入的 BStream.Free;
end;
不知道为什么其结果与存入的不相符,麻烦大家诊断一下,谢谢!//将0~255的数据填充到Byte类型的数组后保存到Image类型的字段
procedure TForm1.btn1Click(Sender: TObject);
var
i: Integer;
arr: array[0..255] of Byte;
BStream: TStream;
begin
for i:=0 to 255 do
begin
arr[i] := i;
end; qry1.Active := True;
qry1.Edit;
BStream := qry1.CreateBlobStream(qry1.FieldByName('Finger'), bmWrite);
BStream.WriteBuffer(arr, SizeOf(arr));
BStream.Position := 0;
BStream.Free;
qry1.Post;
end;//读出之前存在数据库的数据至数组
procedure TForm1.btn2Click(Sender: TObject);
var
arr: array[0..255] of Byte;
BStream: TStream;
begin
qry1.Active := True;
BStream := qry1.CreateBlobStream(qry1.FieldByName('Finger'), bmRead);
BStream.Position := 0;
BStream.WriteBuffer(arr, SizeOf(arr)); //数组arr中数据不是上面写入的 BStream.Free;
end;
解决方案 »
- TrewView控件的HideSelection属性没效果?
- 在dbgrid里面鼠标不能点击到网格的外面请问是什么原因呢?
- delphi5.0中,用MSXML的控件接受XML,但是会在接受的XML中出现中文乱码,请各位高手帮忙解决
- 在delphi中怎样对字符串进行urlencode编码?急!!! 在线等待.....
- 如何通过程序设置IIS虚拟目录下子目录的属性?
- GLSence载入纹理问题
- DELPHI 制作视频问题
- ActionList循环
- 我想调用win32api中的ShbrowseFolder函数,可是。。。
- 菜问题:如何让hint显示文本框里的文字?
- 向sql2000中写入“1.00”的困惑
- dll中可不可以用控件,如果想实现timer功能,怎么办
var
arr: array[0..255] of Byte;
BStream: TStream;
begin
qry1.Active := True;
BStream := qry1.CreateBlobStream(qry1.FieldByName( 'Finger '), bmRead);
BStream.Position := 0;
BStream.ReadBuffer(arr, SizeOf(arr)); //数组arr中数据不是上面写入的 BStream.Free;
end;
BStream.ReadBuffer(arr, SizeOf(arr));