说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi数据库应用程序开发中图像数据的存取技巧

HTML文档下载 WORD文档下载 PDF文档下载
Delphi数据库应用程序开发中图像数据的存取技巧

Delphi提供了数据访问(DataAccess)和数据控制(DataControls)的可视化控件,能够方便快捷地产生具有良好界面且功能强大的数据库应用程序。对于涉及图像数据(含Graphic字段)的数据库应用程序,如人事管理信息系统等,图像数据的存取技术是一个关键。然而,有关Delphi下图象的存取,特别是图像的保存方面的技术各种资料上很少提及。下面,笔者结合一个简单的例子来说明。

一、图像数据的保存

1.创建一个含有Graphic字段的数据库列表。

在WindowsISQ(或Databasedesktop)下createdatabasemydb.gdb

createtablemyfrieds

(namevarchar(15)notnull,telephonevarchar(12),addressvarchar(30),zipvarchar(8),picturevarchar(15),imageblob);

其中,picture字段用于保存图像的名称(包括路径),image(Graphic字符)则用于存储图像,其数据类型为“blob”。

2.建立窗体(如图1所示),设置窗体中各控件的属性。

该窗体的主要功能是将某人信息进行编辑和保存。需要注意的图像保存所用的图像框必须用Image而不能用TDBImage,编辑框宜用Tedit而不宜用TDBEdit,这一点与图像的读取恰好相反。

其中,各主要控件的属性设置如下:

Datasource1.Dataset:Κtable1;

Table1.Databasename:Κmydb.gdb;

Table1.Tablename:Κmyfriends;

Table1.active:Κtrue;

其他诸如Caption之类的属性设置不再叙述。

3.数据处理程序的建立。

(1)图像( .bmp文件)打开的处理。

procedureTForm1.pictopenbtnClick(Sender:TObject);

beginopendialog1.execute;

image1.picture.loadfromfile(opendialog1.filename);

end;

(2)图像保存的处理。

图像保存的处理程序完成把在窗体1所编辑的信息包括图像保存到相应的数据库中,其关键是要定义一个Graphic类型的变量且该变量要用assing()函数传递到相应数据库中保存。具体程序如下:

procedureTform1.Savebtnclick(sender:TObject);

vargraphic1:TGraphic;

begingraphic1:ΚTGraphic.Create;

初学编程者必知的五个网站 大数据基准测试专题论坛:基准测试是一把尚未完成的尺子 大数据应用(下):应用驱动技术,DaaS创造价值 大数据研究与发展专题论坛:大数据在各领域中的应用及发展策略 雅虎新目标:欲收购照片分享网站Imgur 移动开发工具访谈《近匠》第01期:七牛云存储—BaaS进化论 ShareSDK:A轮融资到位!将推社会化评论SDK 70美元,你也能用Raspberry Pi做个专属iBeacon基站 7个鲜为人知却超实用的PHP函数 从管理远程式团队和分布式团队中所获得的宝贵经验 Netflix开源数据流管理器Suro Google新创意:天花板加麦克风 人脑植芯片 苹果获弯曲屏新专利 可给手机弄个大波浪卷 真正的跨平台硬件测试:3DMark已打通PC、iOS、Android 将Chrome浏览器变成终端工具 【开源推荐】AllJoyn:打造全球物联网的通用开源框架 21张图带你走进Google数据中心 Snapchat C轮融资5000万美元 投资方是Coatue Management 又一个被谷歌寄生的平台,Chrome应用启动器现来到OS X上 雷军遇上刘德华:创业、艺术、移动互联网 为了抗衡Android,传微软开始考虑WP和WinRT免费 维护代码库的五个精华实践 微软发布安全补丁 IE11.0.2随之而来 Qt 5.2正式版发布 全面支持移动平台 如何节约手游制作成本?揭秘CocoStudio编辑器强悍功能 市场竞争白热化:三大云服务商上演双十二“三国杀” UCloud联手盛科实现SDN硬件应用 AWS,还有多远? Instagram推新私信功能Direct:支持照片、视频和文本信息 微软CEO鲍尔默最后一次受访:我的正确决定远远大于过错 中国创新碰撞硅谷思潮, 2013云世界大会定义云时代 jsp中大文件上传问题! onchange在程序改变当前选项时无法触发? 如何将所绘制图形保留在窗口上? 消息机制??? 请教,如何做一个进度显示?希望(详细点)!拜托高手 一个关于属性页的问题 新手问题:SQL*PLUS出错! 一道调用传递引用的参数,实现两个字符串变量的交换的题目,帮帮忙! 离开 论坛 散分 关于php与frontpage之间的一些问题!! 离开 论坛 散分【二】 在ASP中生成SURFER对象时出现错误 离开 论坛 散分【三】 离开 论坛 散分【三】 急救! 如何操作磁卡读写器 Help,如何更改DataGrid控件选中那个单元格的背景色和前景色? 2000共享文件问题,请高手看一下,很古怪的! 朋友,你好! 离开 论坛 散分【四】 高手救命,简单数据库规划问题!!!价值50分!!! 想听听大家对 static 命名的函数、变量的用法 Access数据库传到服务器后,变为只读了?求助,白思不得其解 请问怎样取得PCM流 离开 论坛 散分【五】 打包,解包??? 离开 论坛 散分【六】 离开 论坛 散分【七】 求教SQL语句,高手、或刚入门的同道都进来讨论一哈 最初linux使用什么编译开发的? 离开 论坛 散分【八】 关于字符串截取问题 谁有FASTREPORT的注册版本 我急用!在线等待!谢谢! 离开 论坛 散分【九】 Application.messagebox和messagebox有什么区别呢? 水晶报表的两个小问题? 怎样向Foxpro表中添加float型数据? 离开 论坛 散分【十】 问一个和Session有关的问题,达人请进 在宏里把ie关闭。非常感谢 如何让window.showModalDialog的page提交数据到原来的父页面? 合租住房!! 有没有一个命令直接解开iso文件或提取里面的一个文件或文件夹 请给看看程序:AVI视频的读取和重建 如何显示出电脑内已经注册的dll文件列表? 中程浮点数问题! solaris下CC编译器的问题? UML的书籍和软件? 那里有vs.net2003的vss6.0d版本? 有时候exe文件不能运行? 自己准备写一个工资发放和发布的程序,欢迎探讨. 2P能级电子能否跃迁到3s能级,并且怎么判断电子排布式是发生跃迁还是它本来就排布有错 I am sorry for letting you have a lonely birthday 这句话有语法错误吗 琢磨是什么意思? 请问“捉摸”和“琢磨”意义上有什么区别? 工作了, 什么样的男人算有责任感? 没有责任心的男人是男人吗拜托各位大神 有的男人为什么那么没有责任心呢?为什么有的男人会没有责任感呢. 我们吃的橘子属于什么,剥下去的皮,主要由什么组织构成,橘子和橘瓣之间白丝属于什么组织 不需任何机器,怎样剥桔子皮剥的快些? 早教中的3S 理论是什么呀? 中国记协就新快报记者被拘事件发表声明日拟发布夺岛演习视频 称向国际澄清领述评:日本“网络争岛”惹争议 频繁出王毅将访问法国、意大利和圣马力诺英设计师推“鸵鸟枕” 补眠神器助轻松美国公立大学学杂费上涨3% 涨幅30阿根廷城铁事故线路将国有化 司机管理英最胖男士重889斤 为减肥放弃早餐浙江青田一男子童年乞讨成年盗窃 先后浙江一对夫妻无证倒卖香烟 涉案283浙江党员教育云平台开通 党员教育冲上画里钟声中国第六次北极 科考作业全面展开沪昆高速邵怀段发生 特大道路交通危化拳王加冕中华人民共和国和阿根廷共和国关于 建国际社会呼吁查明马航空难真相文化资讯首个兵役法庭的辐射效应风雨中守护新生命诞生习近平同阿根廷总统克里斯蒂娜举行会谈驻桂部队紧急投入抢险救灾
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘