当前位置: 首页 > 图文教程 > 开发语言 > Delphi > Delphi存取图像完整解决方案

Delphi
得到执行程序的目录
返回程序执行参数
如何区分3种不同的FormActive事件
正确关闭一个MDI子窗口
写小执行程序
替换指定串函数
动态数组
动态产生构件并相应事件
文件管理(一)
想成高手吗?快来学Delphi快捷键
浅谈Delphi如何控制Excel操作
用Delphi检测IE使用的代理服务器
Delphi学习:查句柄知多少
Delphi学习:OOP 中的双刃剑
在 NT内核的操作系统上实现系统关闭
用Delphi制作DLL的方法
Delphi:Daily build实践
Delphi控制Excel的重要属性和方法
Delphi学习:2个不错的通配符比较函数
字符串分割扩展 SplitEx

Delphi存取图像完整解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 48 ::
收藏到网摘: n/a

  对于涉及图像数据的数据库应用程序,图像数据的存取技术是一个关键。由于缺少技术文档及DEMO例程演示,为此笔者在网上搜索了相关资料,有的根本不能用,有的过于繁杂,有的应用范围太窄(如只能适用于BMP图像),有的写得过于简单理解起来十分困难。。。而且在网上这也是大家比较关心的一个问题。笔者对这个问题进行了反复实作和探索,下边笔者将通过一个完整的简单例子来说明如何保存和显示SQL数据库中的图像数据(同时包括BMP和JPEG两种格式)。

    


  一、 创建演示数据库

  在SQL SERVER中新建一演示数据库:Demo,并创建一数据表Picture1,结构如下:

字段名Dtata TypeIdentity
Id Int Yes
IsbmpTinyint 
MyimageImage  

  字段Isbmp是用来记录在Myimage中存入的图像的类型(0表JPEG,1表BMP,其它值表无图像),Isbmp数据类型选用整型Tinyint而末选用逻辑bit型主要是考虑到如下方法仍适用于ACCESS数据库。在SQL中打开表Picture1,添入几条记录,Myimage图像字段值暂不管,字段Isbmp值随便输入0和1之外的其它数。

  二、 窗口设计

  在DELPHI中新建一个工程,在FORM1上放置如表所示控件(考虑到TDBImage型控件不能正确显示JPEG型图像,所以选用Timage型控件显示所有类型图像)。

组件类别组件属性名属性值 用途说明
TimagecaptionImage1显示图像
nameImage1
StretchTrue
Tbuttoncaption选择图像选择图像
nameselectimage
Tbuttoncaption保存图像保存图像到数据库
namesavetodb
TADOConnectioncaption Adoconnection1创建与数据库demo的连接
nameAdoconnection1
Connectionstring见备注
ConnectedTrue
LoginpromptFalse
TadotableCaptionAdotable1建立与表Picture1的连接
nameAdotable1
Connection Adoconnection1
TablenamePicture1
Active True
TdatasourceNameDatasource1建立数据源
DatasetAdotable1
TopenpicturedialogCaptionOpenpicturedialog1选择图像文件
NameOpenpicturedialog1
TdbgridCaption Dbgrid1显示记录
NameDbgrid1
DatasourceDatasource1