主题:高手帮忙--关于数据库存储图片的问题
我是用delphi中存储图片到SQL中的,下面是程序,但运行的时候总是出问题。
提示的错误是:对象名picture无效。谁能帮忙解答一下到底是哪里出错了
procedure TForm1.SaveButtonClick(Sender: TObject); //存图片到SQL中
var
Ms: TmemoryStream;
jpg: Tjpegimage;
begin
if (OpenPictureDialog1.Execute) and (Edit1.Text <> '') then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Ms := TmemoryStream.Create;
jpg := Tjpegimage.Create;
jpg.Assign(Image1.Picture.Graphic); //转为jpeg格式
jpg.SaveToStream(Ms);
Ms.Position := 0;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
adoquery1.SQL.Add('insert picture(pic_name,picture) values(:pic_name,:picture)'); //保存图片到数据库
ADOQuery1.Parameters.ParamByName('pic_name').Value := Edit1.Text;
ADOQuery1.Parameters.ParamByName('picture').LoadFromStream(Ms, ftBlob);
ADOQuery1.ExecSQL;
Ms.Free;
jpg.Free;
end
else
begin
ShowMessage('保存出错或无文件名!');
Exit;
end;
end;
提示的错误是:对象名picture无效。谁能帮忙解答一下到底是哪里出错了
procedure TForm1.SaveButtonClick(Sender: TObject); //存图片到SQL中
var
Ms: TmemoryStream;
jpg: Tjpegimage;
begin
if (OpenPictureDialog1.Execute) and (Edit1.Text <> '') then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Ms := TmemoryStream.Create;
jpg := Tjpegimage.Create;
jpg.Assign(Image1.Picture.Graphic); //转为jpeg格式
jpg.SaveToStream(Ms);
Ms.Position := 0;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
adoquery1.SQL.Add('insert picture(pic_name,picture) values(:pic_name,:picture)'); //保存图片到数据库
ADOQuery1.Parameters.ParamByName('pic_name').Value := Edit1.Text;
ADOQuery1.Parameters.ParamByName('picture').LoadFromStream(Ms, ftBlob);
ADOQuery1.ExecSQL;
Ms.Free;
jpg.Free;
end
else
begin
ShowMessage('保存出错或无文件名!');
Exit;
end;
end;