以下代码是复制来的,做的是update的操作,insert也是大同小异。
最重要的是使用Blob字段用来存储你的照片
procedure TfrmStudentInfoManage.Label10Click(Sender: TObject);
var
Ms:TmemoryStream;
jpg:Tjpegimage;
begin
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
ms:=TmemoryStream.Create;
Jpg:=TJpegImage.Create;
Jpg.Assign(Image1.Picture.Graphic);
Jpg.SaveToStream(Ms) ;
Ms.Position :=0;
adoquery1.Close;
adoquery1.SQL.Clear;
ADOQuery1.SQL.Add('update StudentInfoData set 照片=:照片 where 学号=:学号'); //保存图片到数据库
adoquery1.Parameters.ParamByName('学号').Value:=DBEdit1.Text;
adoQuery1.Parameters.ParamByName('照片').LoadFromStream(ms,ftBlob);
adoquery1.ExecSQL;
Ms.Free ;
jpg.free;
end
else
begin
Application.MessageBox('保存出错或文件名无效!','出错',64);
exit;
end;
end;
delphi+SQL数据库
两种方式:
数据库表中建立一个image字段,在delphi中使用文件流保存入字段;
建立一个nvarchar字段,存文件路径
有一个这种字段的;忘记了,一般是存储图片的存放路经。