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

如何将jpg文件从sql server中取出来

答題得分者是:sos_admin
reebokmonkey
一般會員


發表:44
回覆:73
積分:23
註冊:2003-08-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-04 11:48:04 IP:61.149.xxx.xxx 未訂閱
如何将jpg文件从sql server中取出来!
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-04 11:56:04 IP:147.8.xxx.xxx 未訂閱
SEARCH  < href="http://delphi.ktop.com.tw/link.asp?topic_id=24428">http://delphi.ktop.com.tw/link.asp?topic_id=24428
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-04 12:00:11 IP:202.39.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18191    --- 歡迎光臨 KTop 研究院--<-<-<@
reebokmonkey
一般會員


發表:44
回覆:73
積分:23
註冊:2003-08-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-04 14:24:44 IP:61.149.xxx.xxx 未訂閱
上面的例子只是取单张jpg文件的。请问如果从一个记录集中连续的取出jpg文件 应该怎么取。我作了个例子可是有错,请高人指点。代码如下 var jpgstream:TJpegImage ; ImageName,aa:String;    Stream: TBlobStream;    Stream1: TBlobStream; Stream2: TStream;    begin       SelArchives.Form4.ShowModal;       RunNum:=0;       ADODataSet1.CommandText :='Select * From Tb_Doc Where Item_id=' + Form4.ItemId ;    ADODataSet1.CursorType:=ctDynamic;    ADODataSet1.Open;       jpgstream:= TJPEGImage.Create;    while not ADODataSet1.Recordset.EOF do    begin              Stream2:=ADODataSet1.CreateBlobStream(ADODataSet1.FieldByName('doc_content'), bmRead);       ImageName:='c:\Test' + IntToStr(RunNum+1) + '.jpg';       ShowMessage(ImageName);       jpgstream.LoadFromStream(Stream2);          jpgstream.SaveToFile(ImageName);           if not ADODataSet1.Recordset.EOF then ADODataSet1.Recordset.MoveNext ;       Stream2.Free;              RunNum:=RunNum+1;    end;    ADODataSet1.Close;    jpgstream.free;    end;    错误是“Access violation at address 0041b946 in module "Scanmain.exe"”Scanmain是我的工程名字        發表人 - reebokmonkey 於 2003/09/04  14:29:16 發表人 - reebokmonkey 於 2003/09/04 14:45:26 發表人 - reebokmonkey 於 2003/09/04 14:50:59
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-04 15:15:39 IP:61.155.xxx.xxx 未訂閱
....... while not ADODataSet1.Recordset.EOF do begin Stream2:=TStream.Create ; TRY Stream2:=ADODataSet1.CreateBlobStream(ADODataSet1.FieldByName('doc_content'), bmRead); ImageName:='c:\Test' IntToStr(RunNum 1) '.jpg'; ShowMessage(ImageName); Stream2.Position :=0; jpgstream.LoadFromStream(Stream2); jpgstream.Position :=0; jpgstream.SaveToFile(ImageName); FINALLY Stream2.Free; END; if not ADODataSet1.Recordset.EOF then ADODataSet1.Recordset.MoveNext ; RunNum:=RunNum 1; end; ........ 我修改了一下,try ~~
reebokmonkey
一般會員


發表:44
回覆:73
積分:23
註冊:2003-08-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-04 16:15:34 IP:61.149.xxx.xxx 未訂閱
引言: ....... while not ADODataSet1.Recordset.EOF do begin Stream2:=TStream.Create ; TRY Stream2:=ADODataSet1.CreateBlobStream(ADODataSet1.FieldByName('doc_content'), bmRead); ImageName:='c:\Test' IntToStr(RunNum 1) '.jpg'; ShowMessage(ImageName); Stream2.Position :=0; jpgstream.LoadFromStream(Stream2); jpgstream.Position :=0; jpgstream.SaveToFile(ImageName); FINALLY Stream2.Free; END; if not ADODataSet1.Recordset.EOF then ADODataSet1.Recordset.MoveNext ; RunNum:=RunNum 1; end; ........ 我修改了一下,try ~~
为什么总是显示的一条记录 这句话实执行了ADODataSet1.Recordset.MoveNext,可还事显示的事第一条记录
系統時間:2024-05-18 6:45:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!