【 tulaoshi.com - Delphi 】
对于涉及图像数据的数据库应用程序,图像数据的存取技术是一个关键。由于缺少技术文档及DEMO例程演示,为此笔者在网上搜索了相关资料,有的根本不能用,有的过于繁杂,有的应用范围太窄(如只能适用于BMP图像),有的写得过于简单理解起来十分困难。。。而且在网上这也是大家比较关心的一个问题。笔者对这个问题进行了反复实作和探索,下边笔者将通过一个完整的简单例子来说明如何保存和显示SQL数据库中的图像数据(同时包括BMP和JPEG两种格式)。
一、 创建演示数据库 在SQL SERVER中新建一演示数据库:Demo,并创建一数据表Picture1,结构如下:
字段名Dtata TypeIdentityId Int YesIsbmpTinyint MyimageImage
字段Isbmp是用来记录在Myimage中存入的图像的类型(0表JPEG,1表BMP,其它值表无图像),Isbmp数据类型选用整型Tinyint而末选用逻辑bit型主要是考虑到如下方法仍适用于ACCESS数据库。在SQL中打开表Picture1,添入几条记录,Myimage图像字段值暂不管,字段Isbmp值随便输入0和1之外的其它数。
二、 窗口设计 在DELPHI中新建一个工程,在FORM1上放置如表所示控件(考虑到TDBImage型控件不能正确显示JPEG型图像,所以选用Timage型控件显示所有类型图像)。
组件类别组件属性名属性值 用途说明TimagecaptionImage1显示图像nameImage1StretchTrue Tbuttoncaption选择图像选择图像nameselectimageTbuttoncaption保存图像保存图像到数据库namesavetodb TADOConnectioncaption Adoconnection1创建与数据库demo的连接nameAdoconnection1 Connectionstring见备注ConnectedTrueLoginpromptFalse TadotableCaptionAdotable1建立与表Picture1的连接nameAdotable1 Connection Adoconnection1TablenamePicture1Active TrueTdatasourceNameDatasource1建立数据源DatasetAdotable1TopenpicturedialogCaptionOpenpicturedialog1选择图像文件NameOpenpicturedialog1TdbgridCaption Dbgrid1显示记录NameDbgrid1DatasourceDatasource1
来源:http://www.tulaoshi.com/n/20160129/1493430.html