procedure Tfrm1.Button2Click(Sender: TObject); Var jpeg: TJPEGImage; bmp: TBitmap; MyStm:TMemoryStream; strfilename,strcard:String; begin inherited; strfilename:=extractfilepath(Application.ExeName); with DBEdit12.DataSource.DataSet do begin
if not VideoCap1.SaveAsDIB then begin ShowMessage(''''拍摄照片失败''''); Abort; end;//
bmp:= TBitmap.Create; try bmp.LoadFromFile(strfilename+ ''''Capture.bmp'''' ); MyStm:=TMemoryStream.Create; jpeg:= TJPEGImage.Create; try jpeg.Assign( bmp ); jpeg.compress; jpeg.SaveTofile( strfilename+''''Capture.jpg''''); strfilename:=strfilename+''''Capture.jpg''''; jpeg.LoadFromFile(strfilename); jpeg.SaveToStream(MyStm); MyStm.Position:=0; OpenQry(query1,''''select count(1) as cnt from tb_photo where card_no=''''''''''''+strcard+'''''''''''''''');//先查找是否有此卡号 OpenQry(pubqry,''''select * from tb_photo where card_no=''''''''''''+strcard+'''''''''''''''');//打开卡号数据表 {OpenQry是自定义打开数据表的函数 OpenQry(qry1:TQuery,ssql:String); begin with qry1 do beign if active then close; sql.clear; sql.add(ssql); try open catch on E: Exception do ErrorDialog(E.Message, E.HelpContext); end;//try end; end; } with query1 do begin if pubqry.Fields[0].AsInteger >0 then //先判断此卡号的图片是否存在,若存在,替换;否则,插入。 Edit else Insert;