C
chenzhihui
Unregistered / Unconfirmed
GUEST, unregistred user!
看了别人的答案,我知道要用流的方式保存到数据库的blob类型的字段。但又碰到一个问题解决不了,就是在设置参数的时候怎么把这个流传递给query,让它能正确找到这个流体,并保存到数据中。create table CZH_TEST( PROGRAM_FILE BLOB)//在oracle上建立一个保存文件的表。我的代码如下:var str:Tmemorystream;begin inherited; adoquery1.Connection:=DBconn; str:=Tmemorystream.Create; str.LoadFromFile('E:/ABM/SOURCE CODE/ZHWork/exe/PeriorMgr.exe'); str.Position:=0; adoquery1.SQL.Text:='InSert into CZH_TEST(PROGRAM_FILE) valuesSPRG)'; Tblobfield(adoquery1.ParamByName('SPRG')).loadfromstream(str); //这个地方有问题 //adoquery1.ParamByName('BackTxtDetails').ParamType:=ptInput; //adoquery1.ParamByName('Backtxtdetails').LoadFromFile('E:/ABM/SOURCE CODE/ZHWork/exe/PeriorMgr.exe',ftBlob); try adoquery1.ExecSql ; finally str.Free; end;//存储文件end;我不知道怎么这个地方怎么才能让这个流体告诉query,并让query保存到数据库。