用PB开发多媒体数据库管理系统图像、声音、数字视频是多媒体的基本要素,目前多媒体数据库正得到是益广泛的应用.怎样用PowerBuilder创建并展示多媒体数据库呢?它可分为两部分:1.怎样将图象、声音、动画存入数据库2.查询系统的制作.下面以PowerBuilder6.5和SQLAnywhere为例。让我们快速制作一个简单的查询系统。制作婚姻介绍系统,查询到符合条件的人后,显示该人的人事档案卡上有个人的照片,要求双击个人照片,能调用Acdsee展示该照片(顾客能任意放大、缩小欣赏照片);或者双击该个人档案某处放映一段该个人档案的个人生活录相,个人喜欢的音乐等.•一.怎样将图象、声音、动画存入数据库首先要有一个包含Blob数据类型的表,,然后利用Bb数据窗口的OLEdatabaseBlob(OLE数据库二进制大对象),可以轻易地把图片等多媒体数据存入数据库或展示在屏幕上。步骤如下:1.建立一个表aaa,内含两个字段,记录号和相片,一个字段取名为ID,另一个字段名为Pic,类型分别为char和Longbinary,ID为主键。具体操作步骤为:进入Database画笔来建立此表,ID字段取type为char,不许为空,即Null为No,Pic字段type为Longbinary,可为空,即Null为Yes(重要)。•注意:在这一步骤里不要输入数据,而要在后面的数据窗口里,按预览图标输入数据。Pic字段的数据类型即所谓Blob类型,其数据类型在不同的DBMS中有一定的差别:在SQLAnywhere中是Longbinary;在SQLServer中是Image。2.建立一个新的应用程序。具体操作步骤为:按Application图标,再按New图标,文件名填test,按保存,Application填test,按OK,出现一Wouldyoulike……的对话框,问是否要应用程序模板,按是,为简化制作步骤,要模板。3.建立数据窗口并准备输入数据。步骤为:按DataWindow图标,在Selectdatawindow对话框中选New,在NewDatawindow对话框中选SQLSlect和Freeform,即SQL选择的数据源,自由格式的风格。按OK,在Selecttalbe对话框中选中aaa表,按Open。点选ID列,使ID出现在Selectlist的右边,在窗口下方按Where按钮,按Colume,并在Cloume的下拉条中选中aaa.id,在Valua的一栏中填入:temp,注意,这里的temp前面有一冒号按窗口上方的Desion菜单,选RetrivealArguments,在Name一栏填temp,注意,这里的temp前面没有冒号,type一栏选String(注意),按OK。•4.用数据窗口的预览方式输入数据。具体操作步骤为:按Desion菜单,选DataSource使DataSource前面不打钩,从insert--control菜单中选择OLEDatabaseBlob项,然后在设计窗口中适当位置点鼠标左键,此时出现DatabaseBlobobject对话框。逐渐填写对话窗:ClientClass:填入DataWindow,可选。ClientName:填入当前DataWindow的名字,可选。Table:选择aaa表。LargeBinary/TextColumns:选择pic字段。KeyClause:选id=:id,用于构造where子句,即whereid=:id,用于定位相位记录。Filetemplate:浏览选择并填入一个bmp文件,可不填。OLEClass:通过下拉菜单选择Pbrush画笔程序。ClientNameExpression:填入某一字符串表达式,当OLEServer运行时,显示在其标题处,如填写入id+.bmp,按OK键。•单击Positions标签,选中Resizable,单击General标签,在Border列表框中选择Resize如此选择这两个属性后,程序运行时,用户能够通过拖拽改变图片的大小,单击OK关闭对话框。此时,PB关闭该对话窗,并回到DataWindow的设计窗口,OLE字段以一小方框的形式显示出来。单击Preview预览图标,在跳出的对话框中给temp的值填1,点InsertRow图标,在表中添加一行,填入id后,双击方框,打开画图程序,这时可以通过绘制,复制等手段制作图片,制作好后,单击文件菜单中的退出并返回到…关闭画图程序,再次单击预鉴图标,系统提示save……,将数据窗口取名为aaa,选择是将结果保存到表中。同理:若想将动画存入数据库则另加一字段,将音乐存入数据库则另加一字段。•二.查询系统的制作1.制作从键盘输入记录号,可查询到该人的档案记录。①制作查询窗口。步骤为:鼠标点按Window图标,新建一窗口,在窗口中,添加一个DataWindow控件,在DataWindow控件上按鼠标右键,选择并单击Properties快捷菜单项,在在Datawindowobjectname旁按Browse按钮,选择装入前面制作的aaa数据窗口,调整好窗口的大小,再在窗口上放一SingleLineEdit控件,和一CommandButton按钮控件,点中按钮控件并按右键选择Properties,将其显示文本修改为查询,按钮名称仍为cb_1,点中按钮控件并按右键选择Script…,输入以下脚本dw_1.settransobject(sqlca)dw_1.retrieve(sle_1.text)关闭并保存,按Save图标保存该窗口,窗口取名为w_pic,树形目录在PB中的实现与应用•本文结合具体的实际应用,介绍PB中实现树形目录的实现机制,并给出了具体的实现过程.1.引言在管理信息系统的开发中,经常需要获取本地计算机中的树形目录结构和相应的文件信息,如进行目录的选择和特殊文件的选取,在PowerBuilder(简称PB)中并没有提供专门的树形目录对象,这样就需要程序开发人员自己来实现相应的树形目录。本文针对这种情况,提供了一种用纯PB代码实现树形结构的方法。2.PB中树形目录的实现方法PB中的ListBox列表框控件提供了显示目录和文件的能力。在程序中可以利用PB的树形控件TreeView动态生成树形目录结构。我们使用ListBox控件的函数DirList来实现,函数DirList以满足条件的文件名填充列表框的列表项,其使用方法如下:PB中关于动态工资项目问题的解决办法•在做人事管理软件时会发现一个问题就是,工资管理中工资的发放项目经常会发生变化,而且工资项目之间的计算关系也经常发生变化,这为实际的编程带来了很大的麻烦。其实实际工作中还有很多类似的情况需要解决,希望能为大家提供多一种思路以供参考。PowerBuilder7.0中实现电子邮件的收发