SQLServer2000怎么保存媒体文件(100分)

  • 主题发起人 主题发起人 icommander
  • 开始时间 开始时间
I

icommander

Unregistered / Unconfirmed
GUEST, unregistred user!
我有很多多媒体文件,如Flash、图形、图像等保存在Server上以供在局域上通过自编的程序来共享调用,程序用Delphi6 + SQLServer2000编写。
有一个问题请教:
这些文件怎样保存在SQLServer2000数据库中?如果可以,用什么数据类型来保存?怎样节省空间和提高传输速度?如果不妥,有什么好的方法进行组织?
 
程序中用字符流。。。
数据库用blob
 
数据库SQL Server,存放文件的字段类型Image
Create Table MyTable
(
FileName VarChar(20),
FileSource Image
)
存放文件到数据库

var FileName :String;
FileName := ExtractFileName(OpenDialog1.FileName);
with Query do
begin
Close;
Sql.Clear;
Sql.Add('INSERT INTO MyTable VALUES (:FileName,:FileSource)');
ParamByName('FileName').AsString := FileName;
ParamByName('FileSource').LoadFromFile(OpenDialog1.FileName,ftBolob);
ExecSQL;
end;



从数据库中取出文件

var FileName :String;
begin
with Query do
begin
Close;
Sql.Clear;
Sql.Add('SELECT * FROM MyTable WHERE FileName = '?'');
Open; FileName := 'c:/'+FieldByName('FileName').AsString;
(FieldByName('FileSource') AS TBlobField).SaveToFile(FileName);
end;
end;
 
明白了,谢谢。请查一下发出去的蛋糕。
 
后退
顶部