全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1673
推到 Plurk!
推到 Facebook!

為什麼 輸入 jpeg 到資料庫 只得一半 或 小於一半的原圖

尚未結案
iarthurtkt
一般會員


發表:2
回覆:6
積分:1
註冊:2005-09-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-29 01:17:36 IP:202.175.xxx.xxx 未訂閱
第一部份:  我參考了貴站一些會員的提示-輸入jpg 及bitmap  ---------------------------------------------------  with dmdbConnPool.q2 do begin         SQL.clear;         SQL.Add('update employee set PHOTO=:iPic');         SQL.Add('where employeeid=:iEmp');         ParamByName('iEmp').AsString:=dbEmployeeID.text;           if Uppercase(ExtractFileExt(DBEdit14.Text))='.JPG' then begin               JPG.Assign(Image1.Picture.Graphic);                     TJPEGImage(Picture.Graphic).SaveToStream(Stream);           ParamByName('iPic').SetBlobData(Stream.Memory,Stream.Size);           ExecSQL;            end       else if Uppercase(ExtractFileExt(DBEdit14.Text))='.BMP' then begin           JPG.Assign(Image1.Picture.Graphic);           JPG.CompressionQuality:=70;           JPG.SaveToStream(Stream);           ParamByName('iPic').SetBlobData(Stream.Memory,Stream.Size);           ExecSQL;           Showmessage('BITMAP are saved success :  '+DBEdit14.Text);         end;        end;    end;  // end of the If Course      Except      on E : Exception do begin      ShowMessage(E.ClassName+' error raised, with message : '+E.Message);      ShowMessage('NOT SUCCESS TO UPLOAD IMAGE');      Exit;      end; // end of the Exception    end; finally      JPG.Free;      Stream.Free; end; // end of the finally try ( First Try ) ------------------------------------------------------------------------------ 輸入bitmap没有任何問題。但當輸入jpg時,小圖没有問題,但大圖就得一半或更小(所謂大圖只是 3xx K)    第二部份: 是    Part 2: 這是QUERY的 afterscroll 事件--以顯示圖    with dmdbConnPool.q3 do begin    SQL.clear;    SQL.Add('select * from con_sys_employee');    SQL.Add('where Employeeid=:Employeeid');    ParamByName('Employeeid').AsString := EmpAdmin.dbEmployeeID.text;    ExecSQL;    open;       if not FieldByName('photo').IsNull then    try     MS:=TStringStream.Create('');     TBlobField(FieldByName('PHOTO')).SaveToStream(MS);     MS.Position:=0;     jpeg:=TJPEGImage.Create;     jpeg.LoadFromStream(MS);     EmpAdmin.Image1.Picture.Bitmap.Assign(jpeg);    finally     jpeg.Free;     ms.Free;    end  // end of the try block     else begin     EmpAdmin.image1.Picture :=nil;    end  // end of the begin end    ----------------------------------------------------------------------- 我是初學者,希望有一個指引,我使用的是 MYSQL 4.0.26 Zeoslib 6.15。    
------
Arthur Tou
Sei
一般會員


發表:22
回覆:38
積分:17
註冊:2002-05-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-31 15:02:04 IP:59.125.xxx.xxx 未訂閱
把BDE的BLOB SIZE跟BLOBS TO CACHE加大就好了
系統時間:2024-04-25 14:21:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!