导航
  • 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

如何使用SQL的insert指令给一个Blob字段付值呢。(急用!)

Thumb168 2002-06-06 08:24:20
我想在客户方把一个文件上传到SQL SERVER服务器上去,怎么使用这条指令呢。请大家帮忙啊!
...全文
70 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lincanwen 2002-06-06
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into 表(字段1,Blob字段) values(:a,:b)');
adoquery1.Parameters.ParamByName('a').Value:='001';
adoquery1.Parameters.ParamByName('b').LoadFromFile('df',ftBlob);
adoquery1.ExecSQL
回复
lxl 2002-06-06
现在手上有一个例子供参考。
//写入
Myquery.sql.add(insert mytable (ID,MyBlobField ) Value ("1",:VMypic))
MySTM:=TmemoryStream.Create;
Myjpeg.savetostream(Mystm);
MySTM.Seek(0,0);
MyBuf:=AllocMem(Mystm.size+1);
MySTM.ReadBuffer (MyBuf^,Mystm.size);
MyQuery.Params[0].SetBlobData(Mybuf,Mystm.size);
MySTM.Free;
Dispose(MyBuf);
MyQuery.ExecSQL;

//读&显示(TclientDataset)
var
MyJpeg:Tjpegimage;
PicSTM:TClientBlobStream;
begin
MyJpeg:=Tjpegimage.Create;
try
PicSTM:=TClientBlobStream.Create(Tblobfield(MyClientDataSet.FieldByName('MyBlobField')),Bmread);
finally
end;
if picStm.size=0 then begin image1.Visible:=false; exit; end;
MyJpeg.LoadFromStream(PicSTM);
image1.Picture.Assign(MyJpeg);
image1.Visible :=true;
Myjpeg.free;
PicSTM.Free;
end;



回复
Thumb168 2002-06-06
谢谢指点,可事情是这样的,我为的提高向服务器提交数据的速度才使用insert的。我用ADOTABLE已经解决了这个问题,可是速度太慢了。所以我想用insert语句。
回复
hkhurus 2002-06-06

query.insert;
TBlobField(Query.FieldByName('PHOTO')).Loadfromfile(filename);
query.post;
回复
lxl 2002-06-06
呵呵,你要是指全部在SQL SERVER的查询分析器上运行的,除了老实把二进制数写上的话,好象没什么方法,在程序中写入时可以这样
sql.clear;
sql.add('insert into tabel(a) :a);
parambyname('a').loadfromstream(...);
回复
lxpbuaa 2002-06-06
不要用insert,这样:
Table1.Edit;
(Table1.FieldByName('AA') as TBlobField(如果是ADOTable,一定要改为TADOBlobField)).LoadFromFile();


—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————

回复
发动态
发帖子
Delphi
创建于2007-08-02

4802

社区成员

Delphi 开发及应用
申请成为版主
社区公告
暂无公告