菜鸟问文件保存问题! (100分)

  • 主题发起人 主题发起人 windjane
  • 开始时间 开始时间
W

windjane

Unregistered / Unconfirmed
GUEST, unregistred user!
我想添加一个文件到到数据库中去,字段是varbinary
用存储过程实现,数据库是sqlserver 2000
在delphi中用storedProce控件,在提供参数时遇到问题

procedure TForm1.Button1Click(Sender: TObject);
var
strm1:Tmemorystream;
begin
strm1:=tmemorystream.Create;
Strm1.loadfromFile(Opendialog1.fileName);
stored.proc1.prepare;

storedProc1.ParamByName('aa').?????:=?????//这行不知道怎么写啊
Stored.execproc;
end;


 
请参考http://www.delphibbs.com/delphibbs/dispq.asp?lid=675441或
话题217733的标题是: SQL SERVER中存储二进制文件 (200分)
分类:数据库-文件型 Rover (2000-4-11 16:49:00)
请问如何将Bmp、Wav、jpeg等文件存入SQLSERVER数据库。
数据表中相应字段应设为何种类型(要求在同一字段中存储不同类型的文件)。

zbj (2000-4-11 17:07:00)
要求:字段类型为varbinary&binary
使用Stream逐字节读入.
若不明白:jrzbj@tonghua.com.cn
ccc!


Pipi. (2000-4-12 1:02:00)
存储时候:
TBlobField(dataset.FieldByName('字段名')).LoadFromFile(文件名)

Rover (2000-4-12 13:46:00)
多人接受答案了。


Pipi.-180,zbj-20,的回答最终被接受。
 
LoadFromFile 方法中,TBlobFiled是什么呢?我还是无法实现啊
 
TBlobFile 是 Blob 类型的字段
var
Sxgstream:TClientBlobStream;
begin
Sxgstream:=TClientBlobStream.Create(TBlobField(ClientDataSet2.FieldByName('txt')),bmReadWrite);
----------
.
.
.
end;

在Oracle中测试通过,txt 是我的 Blob 字段名
 
我有个建议,数据表中可以只存储文件的路径,这样可以节约空间和查询的数据传输量。[:D]
 
temp:='insert into YWLXDYB(YWXH,NAME,FAXNAME,SVOX,EVOX,SVOXFILE,EVOXFILE) values("'+edit1.text+'","'+edit2.text+'","'+edit3.text+'",:svox,:evox,"'+edit4.text+'","'+edit5.text+'")'
dm.Qwh.SQL.Text:=temp;
dm.Qwh.ParamByName('svox').LoadFromFile(edit4.text,ftBlob);
 
多人接受答案了。
 
后退
顶部