发布时间 : 星期一 文章powerbuilder编程简单入门(个人总结)更新完毕开始阅读
2011-4 by 邵家鑫 From Tsinghua
一种简单的powerbuilder10数据库编程介绍
1、需求分析与数据库建立
进行需求分析(需求分析文档),确定数据关系,建立各种数据表,建立数据库(Access),设置ODBC数据源(控制面板->管理工具->数据源ODBC->“用户DSN”菜单下点“添加”?选相应的数据源驱动程序,如果用Access2003建立的,则选第三项“Driver do Microsoft Access(*.mdb),然后点击“完成”->输入数据源名,如mydata,然后点击“选择”按钮选择建好的数据库,最后点“确定”,如下图所示)
2、界面设计(功能界面、重要数据表维护界面)
界面设计主要分为几个部分
(1)按照管理系统所需的功能设计界面。 首先画出所有可能的业务流程(数据的各种可能输入、修改、删除业务,数据的输出、显示业务)
(2)按照需要维护的表设计界面(往往给最高权限管理员直接修改数据用)
3、开始程序编写
(1) 新建一个workspace
(new->workspace->workspace) (2) 在workspace下建立一个目标
(new->Target->application),可取名frame
2011-4 by 邵家鑫 From Tsinghua
(3) 在目标下建一个主窗口
可取名w_main,窗体名一般以w_开头(new->PB Object->Window),将其Window Type设为“mdihelp!”
(4) 为主窗口建一个主菜单
可取名m_frame,菜单名一般以m_开头(new->PB Object->Menu) (5) 程序中设置ODB ODBC 点击
按钮,选中“ODB ODBC”项,然后单击右边“New”按钮,弹出如下对话框,
设置Profile Name和Data Source,如图所示。
(6) 建立配置文件
配置文件取名“config.ini”,内容如下:
[MyDB]
DBMS=ODBC AutoCommit=False
DBParm=ConnectString='DSN=mydata;UID=;PWD='
(7) 自动连接数据库与退出程序关闭数据库的编写
2011-4 by 邵家鑫 From Tsinghua
首先建立Global Variables如下: string gs_userid,gs_username //登录用户标识、用户姓名 string gs_root_path,gs_ini_path //应用路径和主配置文件路径 其次申明Global External Functions如下:
FUNCTION int GetComputerNameA(ref string computername,ref long size) LIBRARY \
FUNCTION long GetCurrentDirectoryA( long nBufferLength, REF string szBuffer ) LIBRARY \
FUNCTION long SetCurrentDirectoryA( string szPathName ) LIBRARY \alias for \//end prototypes
在程序的总入口(进入“”)Open事件中写入以下代码: // Profile moneyandfriends string ls_1
//设置应用根目录
gs_root_path = space(255)
GetCurrentDirectoryA( 255, gs_root_path ) if right(gs_root_path,1) = '\\' then
gs_root_path = left(gs_root_path,len(gs_root_path) - 1) end if
//设置配置文件路径
gs_ini_path = gs_root_path + \IF not FileExists ( gs_ini_path ) THEN
MessageBox( \找不到配置文件 \系统配置错误\RETURN END IF
//SetProfileString(gs_ini_path,'DBMS','
ls_1=ProfileString(gs_ini_path,'MyDB','DBMS','ODBC') SQLCA.DBMS =ls_1
SQLCA.AutoCommit = False
ls_1=ProfileString(gs_ini_path,'MyDB','DBParm','error') SQLCA.DBParm = ls_1 connect using sqlca;
open(w_main) //打开主界面 在Close事件中加入如下代码: disCONNECT USING sqlca; (8) 建立新的具体功能窗体(如w_zichuangti)
8.1 设置窗体BackColor为“Cream”,输入窗体Title;要在1024*768分辨率下基本满屏,窗体大小可设置为“4645*2748”
8.2在新窗体上一般用GroupBox来划分功能区域,设置该控件的字体为“宋体”,大小为
2011-4 by 邵家鑫 From Tsinghua
“10”,背景颜色为“Cream”
8.3用静态文本做功能说明或指示,一般加黑,宋体9号字 示例程序界面如下:
(9) 响应菜单click事件弹出子窗口(相同子窗口只弹出一次待研究)
在菜单下编写代码打开窗体(双击菜单即可在Click事件下编写),简单代码如下: //选择菜单时调出子窗体 window lw
opensheet(lw,'w_ zichuangti',parentwindow,0,Cascaded! ) lw.WindowState = Maximized! (10) 相同的子窗口只让弹出一次(代研究)