能不能将一个文件以流的形式存入到MSSQL中?
请问,能不能将一个文件以流的形式存入到mssql的一个表中,该如何实现呢? 问题点数:100、回复次数:9Top
1 楼madyak(无天)回复于 2006-03-18 10:42:30 得分 10
没有问题,用Image字段,与保存图片方法基本一样.论谈上关于数据库存图片的方法很多Top
2 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-18 10:45:47 得分 0
http://www.onlamp.com/pub/a/php/2000/09/15/php_mysql.htmlTop
3 楼n29882942(骑牛上北京)回复于 2006-03-18 11:41:26 得分 0
能不能具体点呢
Top
4 楼lianshaohua(永远深爱一个叫“...”的好女孩儿!)回复于 2006-03-18 11:57:27 得分 80
var
tf:tfilestream;
name,path:string;
p:integer;
begin
p:=0;
if form1.OpenDialog1.Execute then
begin
try
name:=form1.OpenDialog1.FileName;
form1.OpenDialog1.GetNamePath;
showmessage(name);
tf:=tfilestream.Create(name,fmOpenRead);
adoquery1.Edit;
adoquery1.Insert;
tblobfield(adoquery1.FieldByName('contect')).loadfromstream(tf);//contect为表中存储文件内容的字段名
p:=pos('.',name);
name:=copy(name,p,length(name)-p+1);
adoquery1.FieldByName('name').Value:=name;//name为表中存储文件后缀名的字段
adoquery1.Post;
tf.Free;
except
tf.Free;
end;
end;Top
5 楼n29882942(骑牛上北京)回复于 2006-03-18 13:40:09 得分 0
谢谢,已经可以保存到数据库中了,还想问一下,怎么样以流的方式读取数据并保存到文件中呢?Top
6 楼n29882942(骑牛上北京)回复于 2006-03-18 13:44:53 得分 0
存放exe文件时总是提示invaild blob length,怎么处理啊!Top
7 楼cjianwen(空前)回复于 2006-03-18 15:48:20 得分 0
呵呵,方法跟上面的差不多,TBlobField().savatoStream就行了!Top
8 楼bluekitty(软件黑领)回复于 2006-03-18 16:14:51 得分 10
可以,没问题,不过文件会大大消耗网络流量Top
9 楼lianshaohua(永远深爱一个叫“...”的好女孩儿!)回复于 2006-03-18 22:23:47 得分 0
如果文件太大的话,可能会在创建文件流时会耗尽你的内存,,,,Top




