以上两个方法都太多余了,方面你哪个控件用了别在右边写上哪个目录的绝对路径,把准备好放你程序目录下,控件右边属性那写上:“\xxjpg”就是相对路径了
数据库看你是什么的了,如果是SQL的可以做个INI文件来写连哪个服务器的,做活了,如果是ACESS的那就也像一样弄成相对路径就行
哦,是ASA的啊,那个数据库的我没做过,但是你可以试试创建时不选用use transaction log
因为如果不选用的话,asa会在db文件那建立log文件,这样也许能行,别的我也不清楚了,不好意思
一 利用ODBC联接FoxPro数据库
在Power Builder中 直接访问FoxPro数据库只能通过ODBC方式
在开发环境下 可以直接在PowerBar画板上配置ODBC 联接FoxPro数据库 方法如下
单击Configure ODBC工具钮 在Installed Drivers目录框中选择 Microsoft Foxpro Driver ( dbf)
单击 Create 按钮 命名数据源名 选择版本 取消 使用当前工作目录 选项
单击选定目录 选择被联接数据库所在的目录 确定退出
通过ODBC方式联接的FoxPro的数据库 一定要满足FoxPro的数据库格式 即数据库文件结构必须是 字节文件描述 若干个 字节的字段描述 结构描述结束符( D) 记录 记录 …… 文件结束符( A) 由此看来 传统的DBF数据库文件均可通过该方式联接 对于Visual FoxPro环境下建立的表(Table) 其结构与传统的数据库结构是不同的 它在字段描述结束符( D)与记录之间加上了二百多个字节的内容 但在未纳入VFP的数据库(Dbc)之前 其内容为 此时仍可以通过这种方式联接 一旦纳入数据库中 该段字节已被填上了其它内容 无法再联接
在Power Builder应用程序中 使用事务处理对象来联接数据库 这种事务处理对象 即有默认的SQLCA 用户也可以自己生成 以方便访问多个数据库 在程序中使用事务处理对象时 一般必须先指明DBMS DbParm两个属性 对于FoxPro数据库 还必须指明 Database userid servername 几个属性 这一点是与访问其他类型的数据库不同的地方
sqlca dbms= ODBC // 指定联接方式ODBC
sqlca database= D:\prg\pubdata // 指定被联接数据库所在目录
sqlca userid= public // 用户识别号 都为 public
sqlca servername= FOXPRO // 服务器名 均为FOXPRO
sqlca dbparm= Connectstring= DSN=tscxs //数据源名
connect using sqlca; // 实施联接
……
通过对FoxPro数据库的联接 用户便可以在Power Builder开发环境下 应用程序中使用这些数据库 快速地开发出自己的信息管理系统 实现对这些数据库的维护与管理
二 将DBF文件转换为SQL Anywhere 的DB文件格式
在Power Builder环境下 附带有一个数据库系统 SQL Anywhere 在Power Builder中利用它 用户可以直接建立 维护数据库 在SQL Anywhere中 数据库结构虽然与VFP不同 但概念是一致的 即 数据库是系统中相关的各种数据 这些数据又因不同用途组织成不同的表 这些表共同构成数据库 与传统的数据库(DBF)相类比 PB VFP中的表即是传统意义的数据库 PB VFP中的数据库类似于传统的数据库(DBF)文件所在的目录 SQL Anywhere中提供了将传统的DBF文件转换为该系统下的数据库文件(DB)中的表的工具 为了实现这一转换 用户必须先建立一个新的表 再将DBF格式的文件内容导入该表中
对于DBF文件 必须是传统意义上的数据库 如FoxPro dBase FoxBASE环境下的数据库文件 该种数据库文件严格遵循 数据文件==数据库结构+数据库记录 这一格式 其结构如下 字节文件描述 若干个 字节的字段描述 结构描述结束符( D) 记录 记录 …… 文件结束符( A)
A C
// 文件描述 时间 长
度 记录长 记录数
E D
// 第一个字段 名 类
型 长 起始位
F
// 第二个字段
F
……
D F C
// 结构结束符( D)
F D D E
记录
A
F E ……
D A
// 文件结束符( A)
将DBF文件直接转换为PB(SQL Anywhere)中的表 *** 作步骤如下
lishixinzhi/Article/program/PB/201311/24619
二 查询系统的制作
制作从键盘输入记录号 可查询到该人的档案记录
①制作查询窗口 步骤为 鼠标点按Window图标 新建一窗口 在窗口中 添加一个DataWindow控件 在DataWindow控件上按鼠标右键 选择并单击Properties快捷菜单项 在在Datawindow object name旁按Browse按钮 选择装入前面制作的aaa数据窗口 调整好窗口的大小 再在窗口上放一SingleLineEdit控件 和一CommandButton按钮控件 点中按钮控件并按右键选择Properties 将其显示文本修改为 查询 按钮名称仍为cb_ 点中按钮控件并按右键选择Script… 输入以下脚本
dw_ settransobject(sqlca)
dw_ retrieve(sle_ text)
关闭并保存 按Save图标保存该窗口 窗口取名为aaa
②将查询窗口连接入test应用程序内 点按Application图标 出现test应用程序 双击test 出现名为w_genapp_frame的窗口图标 这是应用程序为我们提供的主窗口的名字 点按w_genapp_frame不放按右键选edit 出现该主窗口 将一按钮控件放入该窗口 按钮显示的文本可改为 唯一查询 也可省略不改 点中该按钮控件并按右键选择Script… 输入 open(aaa) 保存 点按Application图标 再按script图标 出现应用程序的自动生成的主体脚本 部分内容如下 它的任务是将数据库初始化 相当于win ini 假若不要应用程序的模板 则下面的脚本需自己输入 而使用模板后 现在我们只需将//connect 前面的注释号 // 符号删除即可 除省事外还避免了因为排版引起的下面的程序格式错误 (本人经常因为书中个别字母印刷错 或排版引起的程序格式错误造成程序无法运行而痛心不已 )
sqlca DBMS = ProfileString (ls_startupfile database dbms )sqlca database = ProfileString (ls_startupfile database database )sqlca userid = ProfileString (ls_startupfile database userid )sqlca dbpass = ProfileString (ls_startupfile database dbpass )sqlca logid = ProfileString (ls_startupfile database logid )sqlca logpass = ProfileString (ls_startupfile database LogPassWord )sqlca servername = ProfileString (ls_startupfile database servername )sqlca dbparm = ProfileString (ls_startupfile database dbparm )connect;
现在按Run图标运行该程序 结果如下图 为简化程序 我们只加入了多媒体中的字段 成功后 读者可自已增加动画 声音字段
讨论 假若多媒体的字段和数据个数比较少 也可用变量和函数来解决 如
temp =temp+ bmp p_ picturename=temp ole_ insertfile( sample avi )run( c:\acdsee exe c:\aa bmp normal!)
lishixinzhi/Article/program/SQL/201311/16400
; PowerBuilder(PB)是一种跨平台的且功能强大 性能优异的开发工具 在客户端/服务器系统结构的应用模式中 作为客户端的一种面向对象的可视化设计工具 在与数据库相连接 *** 作的系统中得到较为广泛的应用 笔者在使用PB开发Sybase数据库应用 建立企业管理信息系统的过程中 积累了一点经验和技巧 现将其中的一部分在此做点介绍 或许能够对朋友们有点启发和帮助
一 PowerBuilder与Sybase SQL Server的连接
若在连接时出现问题 必须要冷静多思考 首先要检查客户端的情况 确认Open Client已经安装 并正确配置 要注意OPen Client必须与PowerBuilder同为 位 或同为 位 PB与Sybase连不上 常见的几种错误现象及处理方法说明如下
已连接上Sybase数据库 但在PB的数据库(database)画板中却看不到用户已经定义过的表
此时可打开isql或Sybase Advantage 用 sa 登录到 master 数据库 执行pbsyc sql脚本文件(该文件位于PB安装盘的server目录)即可 值得一提的是 对Sybase Adaptive Server的版本号要加以注意 根据资料对有的相关项进行点改动
在打开PB的项目画板(Project)或库画板(Library)时 出现错误信息提示: cannot locate source management dll 这个问题是因为在安装PB时 选择了安装版本控制软件(如PVCS)的接口 实际上该用户的机器上并未安装相应的版本控制软件
解决方法: 在PB的设置中 将版本控制软件的接口去掉 具体 *** 作步骤是 可在PB ini文件中 找到[Library]节 将 SourceVendor= 这一行注释去掉
数据库连接正常 但打开用户表时若该表中有汉字则出现乱码
这个问题通常是由于客户端的缺省字符集设置和服务器端的字符集设置不一致 应修改locales dat文件(该文件位于Sybase安装目录的locales子目录下) 如果在Windows / *** 作系统下 可修改[NT]节下的相关内容
若 *** 作系统平台是Windows x 则修改[win ]节下的内容 在此节有一行文本为locale=default us_english is _ 则说明客户端的缺省字符集设为iso_ 开发中文管理信息系统一般建议将字符集改为cp o 在服务器端必须要做相应的调整
二 PB编程的几点技巧
在数据窗口(Datawindow)中实现数据列自动折行
PB软件在市场上受用户欢迎的原因之一 就是它的数据窗口功能很强 而且方便应用 在使用Datawindow时 常会遇到某列的数据太长 不能同时显示全部的情况 若采用自动水平滚动 *** 作起来又不够简便 有一种方法能实现列数据多行显示(自动折行) 具体步骤如下
① 在Datawindow Panter中打开此DataWindow 在需设定自动折行的列上双击鼠标 d开此列的属性窗口 点Position标签 选中Autosize Heigh多选框; 再选择Edit标签 不选中Auto HorzScroll多选框 单击OK按钮 保存所做的修改
② 点中Detail Band(即写有Detail的灰色长带) 单击鼠标右键 选择Properties 菜单项 选中Autosize Height多选框 单击OK按钮 保存所做的修改
lishixinzhi/Article/program/PB/201311/24574
以上就是关于【新手请教】PB中如何设置连接数据库和应用图片的相对路径全部的内容,包括:【新手请教】PB中如何设置连接数据库和应用图片的相对路径、在PB中使用FoxPro数据库的方法[1]、用PB开发多媒体数据库管理系统(二)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)