delphi+SQL SERVER 怎样保存读取*.JPG 和 *.TIF文件 (200分)

  • 主题发起人 主题发起人 qinmingzsj
  • 开始时间 开始时间
Q

qinmingzsj

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把扫描文件*.TIF和 *.JPG 保存到数据库,但是就是没有办法做到,请那位高手指点
 
blob类型字段
搜索一些,N多帖子~
如:
var fld:TField;

fld:=CurTable.FieldByName('PictureData');
CurTable.edit;
with(fld as tblobfield)do loadfromfile(edit1.Text); //输入
with(fld as tblobfield)do savetofile(fileName); //输出
 
//例子如下:可以导入任意类型的文件
procedure TFm_Treaty_Add.SpeedButton11Click(Sender: TObject);
begin
ADOCommand1.CommandText:='Insert Into User_Document (文件名,说明文字,文书,属性) Values (:文件名,:说明文字,:文书,:属性)';
ADOCommand1.Parameters.ParamByName('文件名').Value:=Lb_FileName.Caption;
ADOCommand1.Parameters.ParamByName('说明文字').Value:=Edit1.Text;
if RadioButton1.Checked then
ADOCommand1.Parameters.ParamByName('属性').Value:=Form1.User_Code;
if RadioButton2.Checked then
ADOCommand1.Parameters.ParamByName('属性').Value:=0;
//这句是你要的吧
ADOCommand1.Parameters.ParamByName('文书').LoadFromFile(OpenDialog1.FileName,ftBlob);//(ADOBS,ftBlob);
try
ADOCommand1.Execute;
Application.MessageBox('文档已成功导入数据库。','导入完成',Mb_ok+Mb_IconInformation);
Close;
except
on E:Exception do
begin
Application.MessageBox(PChar('操作遇到错误被终止,系统返回的错误信息如下:'+#13+#13+E.Message) ,'操作失败',Mb_OK+Mb_IconInformation);
end;
end;
end;
//哈哈.回答第三次这个问题了
 
用流的形式,分全部给我的话我给你D6+SQL2000 DEMO
 
在sql server中使用image类型字段就行了,
少爷的回答不错,因为他问过.
 
procedure SaveListToBlob(List: Tlist);
var
Stream: TStream;
Num: Integer;
Index: Integer;
begin
Stream := ClientDataSet1.CreateBlobStream(Client1.FieldByName('Data'), bmWrite);
Try
//Write our the number of integers
Num := List.Count;
Stream.Write(Num, sizeof(Num));
for Index := 0 to List.Count -1 do begin
Num := Integer(List[Index]);
Stream.Write(Num, sizeof(Num));
end;
finally
Stream.Free;
end;
end;
另外, LoadListFromBlol(Lost: Tlist) 类似
 
多人接受答案了。
 
后退
顶部