永发信息网

delphi 如何更新ACCESS保存的图片

答案:2  悬赏:70  手机版
解决时间 2021-03-14 23:16
...
sql.text:='updata book set id='''+edit.text+''',book=:book where xu=xd';
...
parameters.ParamByname('book').loadfrmstream(mBook); 不能更新
提示:variable book might not have been initialized
not enougth adtual parameters
前提是我声明了内存变量和建立了内存,也把图片保存到了内存,显示图片绝对没有问题,问题是怎么去更新数据库里的图片

Parameters.GetFieldByName('FactoryLogo').LoadFromStream(mFactoryLogo);提示没有定义getFieldByname

2楼,我不知道updatabath()怎么用, 能不能给个例子

有知道的吗?
最佳答案
//设置属性
self.ADOQuery1.LockType:=ltBatchOptimistic;

//保存时候用
self.ADOQuery1.UpdateBatch();
全部回答

字段名称    类型    描述   id    自动编号   主键值 img ole对象   用来保存图片数据

procedure tform1.button1click(sender: tobject); var f:file of byte; size:longint; //文件大小 filepath,time:string; //文件时间 begin filepath:=extractfilepath(paramstr(0))+'demo.jpg';//图片地址为当前目录下 assignfile(f,filepath); reset(f); size:=filesize(f);//获取文件大小。 time:=datetimetostr(filedatetodatetime(fileage(filepath)));//获取文件创建时间。 closefile(f); adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from image'); adoquery1.open; adoquery1.insert; adoquery1.fieldbyname('filename').asstring:=extractfilename(filepath); //存储文件名称 adoquery1.fieldbyname('filekind').asstring:=extractfileext(filepath); //存储文件扩展名。 adoquery1.fieldbyname('filesize').asinteger:=size; //存储文件的大小。 adoquery1.fieldbyname('filetime').asstring:=time; //存储文件的创建时间。 adoquery1.fieldbyname('savetime').asdatetime:=now();//存取文件的存储时间 tblobfield(adoquery1.fieldbyname('filecontent')).loadfromfile(filepath);

//图片的二进制流,存进去之后,数据库会显示(<<binary>>) adoquery1.post; end;

下面是读取还有代开的代码,添加一个timage空间进行显示,id为我的自增列,读取最后一条插入记录

procedure tform1.button2click(sender: tobject); var ms:tstream; jpg:tjpegimage; begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select top 1 * from image order by id desc'); adoquery1.open; ms:=tstream.create; ms:=adoquery1.createblobstream(adoquery1.fieldbyname('filecontent'),bmread); ms.position :=0; jpg:=tjpegimage.create; jpg.loadfromstream(ms); image1.picture.assign(jpg); jpg.free; ms.free; end;

当然这里你也可以将其中的代码修改一下,不用显示就把“image1.picture.assign(jpg);”改为保存“jpg.savetofile(图片路径);”

详情可以上我的百度博客看

http://hi.baidu.com/ray108/blog/item/d2883a1181209908203f2e42.html

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问依维柯旧款得意平顶,2.8排量的,单边拖刹
求桃花是什么意思
求pgd-722 种子
鑫宇建材(蒲伊东街)在什么地方啊,我要过去处
计算机网络管理涉及哪些方面的内容
月末盘点材料,发生盘盈5000元。经查,系正常盘
盖县小海鲜在哪里啊,我有事要去这个地方
求有男主伤了小受/女主的心后小心翼翼讨好的
沙塘村怎么去啊,有知道地址的么
成阴结实君自取,若问傍人那得知 什么意思
英魂之刃怎么查看上一场和自己玩的人
摩托车转速表和油表晚上一开灯就不正常乱转。
看《后宫》(安以轩演的电视剧)进来
马依特克斯套地址在什么地方,想过去办事
脚踝骨折 4个星期了大脚趾为什么不能上翘
推荐资讯
计算下面的题。谢谢,要过程。[-3²×(-3分
玫瑰园棋牌地址在什么地方,想过去办事
我到车时后车横停在我车后开这车门我撞到他车
最新版qq -名片可以赞10次吗
沙虫可以加鸡肉红枣一起煲粥
我受害者家属,我在交警队开完垫付单了,可以
电工培训都学些什么?
一个女孩对我说:“莫待无花空折枝。”请问,
扶沟县周口花田雨皮肤管理连锁机构扶沟旗舰店
奥黛丽赫本怎么念
手机格式化后开不了机是怎么回事呀
下应街道雅苑社区综治工作室地址有知道的么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?