procedure TForm1.Button1Click(Sender: TObject);
var
mem:TMemoryStream;
begin mem:=TMemoryStream.Create;
try
if OpenDialog1.Execute then
begin
mem.LoadFromFile(OpenDialog1.FileName);
mem.position:=0;
with ADOQuery1 do
begin close;
sql.Clear;
sql.Add('insert into imagetest (imgid,imgsize) values(1,:mem)'); Parameters.ParamByName('mem').LoadFromStream(mem,ftblob);
//TBlobField(Parameters.ParamByName('mem').Assign(mem));
ExecSQL;
end;
end;
finally
mem.Free;
end;
end;
var
mem:TMemoryStream;
begin mem:=TMemoryStream.Create;
try
if OpenDialog1.Execute then
begin
mem.LoadFromFile(OpenDialog1.FileName);
mem.position:=0;
with ADOQuery1 do
begin close;
sql.Clear;
sql.Add('insert into imagetest (imgid,imgsize) values(1,:mem)'); Parameters.ParamByName('mem').LoadFromStream(mem,ftblob);
//TBlobField(Parameters.ParamByName('mem').Assign(mem));
ExecSQL;
end;
end;
finally
mem.Free;
end;
end;
begin
Append;
//...................改成这种方式提交试试
TBlobField(FieldByName('Exe_Bin')).LoadFromFile(FileName);
Post;
end;
try
if OpenDialog1.Execute then
begin
mem.LoadFromFile(OpenDialog1.FileName);
mem.position:=0;
这之中有什么问题导致存不进去。
begin
Append;
FieldByName('imgid').Asstring := 1;
TBlobField(FieldByName('imgsize')).LoadFromFile(FileName);
Post;
end;
这样子提交到数据库,我一般都是这样做的