资源描述:
《powerbuilder编程简单入门(个人总结)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011-4by邵家鑫FromTsinghua一种简单的powerbuilder10数据库编程介绍1、需求分析与数据库建立进行需求分析(需求分析文档),确定数据关系,建立各种数据表,建立数据库(Access),设置ODBC数据源(控制面板->管理工具->数据源ODBC->“用户DSN”菜单下点“添加”à选相应的数据源驱动程序,如果用Access2003建立的,则选第三项“DriverdoMicrosoftAccess(*.mdb),然后点击“完成”->输入数据源名,如mydata,然后点击“选择”按钮选择建好的数据库,最后点“确定”,如下图所示
2、)2、界面设计(功能界面、重要数据表维护界面)界面设计主要分为几个部分(1)按照管理系统所需的功能设计界面。首先画出所有可能的业务流程(数据的各种可能输入、修改、删除业务,数据的输出、显示业务)(2)按照需要维护的表设计界面(往往给最高权限管理员直接修改数据用)3、开始程序编写(1)新建一个workspace(new->workspace->workspace)(2)在workspace下建立一个目标(new->Target->application),可取名frame2011-4by邵家鑫FromTsinghua(3)在目标下建一个主窗口可取
3、名w_main,窗体名一般以w_开头(new->PBObject->Window),将其WindowType设为“mdihelp!”(4)为主窗口建一个主菜单可取名m_frame,菜单名一般以m_开头(new->PBObject->Menu)(5)程序中设置ODBODBC点击按钮,选中“ODBODBC”项,然后单击右边“New”按钮,弹出如下对话框,设置ProfileName和DataSource,如图所示。(6)建立配置文件配置文件取名“config.ini”,内容如下:[MyDB]DBMS=ODBCAutoCommit=FalseDBPar
4、m=ConnectString='DSN=mydata;UID=;PWD='(7)自动连接数据库与退出程序关闭数据库的编写2011-4by邵家鑫FromTsinghua首先建立GlobalVariables如下:stringgs_userid,gs_username//登录用户标识、用户姓名stringgs_root_path,gs_ini_path//应用路径和主配置文件路径其次申明GlobalExternalFunctions如下:FUNCTIONintGetComputerNameA(refstringcomputername,reflo
5、ngsize)LIBRARY"KERNEL32.DLL"aliasfor"GetComputerNameA;Ansi"FUNCTIONlongGetCurrentDirectoryA(longnBufferLength,REFstringszBuffer)LIBRARY"KERNEL32.DLL"aliasfor"GetCurrentDirectoryA;Ansi"FUNCTIONlongSetCurrentDirectoryA(stringszPathName)LIBRARY"KERNEL32.DLL"aliasfor"SetCurrentD
6、irectoryA;Ansi"//endprototypes在程序的总入口(进入“”)Open事件中写入以下代码://Profilemoneyandfriendsstringls_1//设置应用根目录gs_root_path=space(255)GetCurrentDirectoryA(255,gs_root_path)ifright(gs_root_path,1)=''thengs_root_path=left(gs_root_path,len(gs_root_path)-1)endif//设置配置文件路径gs_ini_path=gs_ro
7、ot_path+"config.ini"IFnotFileExists(gs_ini_path)THENMessageBox("找不到配置文件"+gs_ini_path,"系统配置错误",stopsign!,ok!)RETURNENDIF//SetProfileString(gs_ini_path,'DBMS','ls_1=ProfileString(gs_ini_path,'MyDB','DBMS','ODBC')SQLCA.DBMS=ls_1SQLCA.AutoCommit=Falsels_1=ProfileString(gs_ini_p
8、ath,'MyDB','DBParm','error')SQLCA.DBParm=ls_1connectusingsqlca;open(w_main)