




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PB教程二,本章要点,1、上一章回顾2、pb控件介绍3、常用数据库连接方式,1.上一章回顾,函数Messagebox(“title”,”HelloWorld!”)的使用:第一个参数是弹出窗的标题;第二个参数是弹出窗的正文;要么前后都是双引号,要么前后都是单引号正文里面的换行rn,放在引号里面举例:messagebox(“hi”,”HelloWorld!rnImastudent!”),1.上一章回顾,一个工程(workspace)只能有一个应用对象(application);应用对象的open事件是整个应用开始;,1.上一章回顾,一个应用只能有一个MDI主窗口菜单对象必须依附于窗口对象才能使用一个MDI主窗口必须有一个菜单,1.上一章回顾,打开窗口的函数Open(w_test1)Open(w_test1,w_test2)Opensheet(w_test1,w_main,2,layered!)/用于MDI框架有效。,1.上一章回顾,给menu项添加microhelp;为menu项添加toolbar图标;给menu项的clicked!事件添加函数;Window对象在open时的状态(state)有:Normal!,minimized!,maximized!Window对象设置为mdi!和mdihelp!的区别在于后者多了状态栏,可以显示microhelp。,1.上一章回顾,1、Window对象的windowType属性Child!作为主窗口的子窗口:1)默认没有边框2)默认大小不可调整3)不能拥有菜单4)默认没有其它可设置的选项,如最大化,最小化等;是打开它的窗口对象的子窗口,可以在父窗口中移动,但不能移出父窗口的工作区,而且当父窗口移动时,子窗口也跟着移动。,1.上一章回顾,main!默认的窗体类型,可以独立存在,不依赖于其它窗口。一个应用可以有多个main窗口。Mdi!多文档界面Mdihelp!多文档界面,有状态栏Popup!这种类型的窗口对象被打开后自动成为打开它的窗口对象的子窗口。Popup类型的窗口对象可以显示在父窗口外面,但不能被父窗口覆盖,当父窗口最小化或者关闭时,它也相应的最小化或关闭。,1.上一章回顾,Response!是一种模式窗口。当这种类型的窗口被打开之后,输入焦点就切换到这个窗口,用户只有对这个窗口就行操作并关闭后,才能使用应用的其它窗口。这种窗口一般用于查找数据,关闭后将所查找到的数据传递给打开它的窗口。,2.控件介绍,2、window窗体的控件介绍button,也就是按钮picturebutton,可以贴图的按钮checkbox,复选框radiobutton,单选按钮statictext,静态文本staticHyperLink,链接文本picture,图片控件.,3.数据库连接,几种连接方式介绍ODBCADO.NETDATAPROVIDERJDBCOLEDB,3.1ODBC,开放数据库互连(OpenDatabaseConnectivity,ODBC)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。,3.1ODBC,MICROSOFT的ODBC文档是用C语言描述的,许多实际的ODBC驱动程序也是用C语言写的。ODBC规范后来被X/OPEN和ISO/IEC采纳,作为SQL标准的一部分,具体内容可以参看ISO/IEC9075-3:1995(E)Call-LevelInterface(SQL/CLI)等相关的标准文件,3.1ODBC,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。换句话说,访问DBF文件或AccessBasic以得到MDB文件中的数据时,无需懂得Xbase程序设计语言。,3.2ADO,ADO(ActiveXDataObjects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。,3.2ADO,作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它的面向组件的框架用以将程序组装在一起。,3.2ADO,从一个ASP页面内部访问数据库的通常的方法是:创建一个到数据库的ADO连接打开数据库连接创建ADO记录集从记录集提取您需要的数据关闭记录集关闭连接,3.3.NETDATAPROVIDER,MySQLDirect.NETDataProviderODBC.NETDataProviderOLEDB.NETDataProviderOracle.NETDataProvider-FromMicrosoftOracle.NETDataProvider-FromOracleOraDirect.NETDataProviderPostgreSQLDirect.NETDataProviderSQLServer.NETDataProvider以上全部是支持.NET架构的数据库连接驱动,3.4JDBC,JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。,3.4JDBC,ODBC不适合直接在Java中使用,因为它使用C语言接口。从Java调用本地C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。从ODBCCAPI到JavaAPI的字面翻译是不可取的。例如,Java没有指针,而ODBC却对指针用得很广泛(包括很容易出错的指针void*)。,3.4JDBC,如果使用ODBC,就必须手动地将ODBC驱动程序管理器和驱动程序安装在每台客户机上。如果完全用Java编写JDBC驱动程序则JDBC代码在所有Java平台上(从网络计算机到大型机)都可以自动安装、移植并保证安全性。总之,JDBCAPI对于基本的SQL抽象和概念是一种自然的Java接口。它建立在ODBC上而不是从零开始。,3.4JDBC,JDBCAPI既支持数据库访问的两层模型(C/S),同时也支持三层模型(B/S)。在两层模型中,Javaapplet或应用程序将直接与数据库进行对话。在三层模型中,命令先是被发送到服务的中间层,然后由它将SQL语句发送给数据库。数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。,3.5OLEDB,OLEDB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLEDB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQL数据类型的通路。,3.5OLEDB,OLEDB的存在为用户提供了一种统一的方法来访问所有不同种类的数据源。OLEDB可以在不同的数据源中进行转换。利用OLEDB,客户端的开发人员在进行数据访问时只需把精力集中在很少的一些细节上,而不必弄懂大量不同数据库的访问协议。OLEDB是一套通过COM接口访问数据的ActiveX接口。这个OLEDB接口相当通用,足以提供一种访问数据的统一手段,而不管存储数据所使用的方法如何。,3.5OLEDB,OLEDB最主要是由三个部分组合而成:1.DataProviders数据提供者凡是透过OLEDB将数据提供出来的,就是数据提供者。例如SQLServer数据库中的数据表,或是附文件名为mdb的Access数据库档案等,都是DataProvider。DataConsumers数据使用者凡是使用OLEDB提供数据的程序或组件,都是OLEDB的数据使用者。换句话说,凡是使用ADO的应用程序或网页都是OLEDB的数据使用者。ServiceComponents服务组件数据服务组件可以执行数据提供者以及数据使用者之间数据传递的工作,数据使用者要向数据提供者要求数据时,是透过OLEDB服务组件的查询处理器执行查询的工作,而查询到的结果则由指针引擎来管理。,3.6ODBC与OLEDB的区别,ODBC实际上是ADO的前身。OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间.在ASP页面里,ADO是位于OLEDB之上的“应用程序”.ADO调用先被送到OLEDB,然后再交由ODBC处理.我们可以直接连接到OLEDB层,如果这么做了,将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升.,PB通过ODBC连接Access数据库,3.7PB连接数据库实战,PB使用该ODBC数据源,PB通过OLEDB连接ORACLE,3.7PB连接数据库实战,3.7.3如果连接不上,以下的原因,Powerbuilder连接oracle时默认用system用户自动创建以下个表:PBCATCOLPBCATEDTPBCATFMTPBCATTBLPBCATVLD必须对其它用户进行授权才能正常连接,3.7.4SQLCA对象说明,全局SQLCA变量在接口库中定义。预处理器会为全局SQLCA变量生成外部引用,并且会为该变量的指针生成外部引用。该外部引用名为sqlca,类型为SQLCA。指针名为sqlcaptr。实际的全局变量在导入库中声明。SQLCA由sqlca.h头文件定义,该文件包括在安装目录的h子目录中。,3.7.4SQLCA对象说明,SQLCA是一种Transaction对象实例,pb默认创建的一个全局变量;系统通过transaction对象与数据库交互;可以自己创建一个transaction对象来取代sqlca;一个pb应用可以有多个transaction对象;,3.7.4SQLCA对象说明,SQLCA是PowerBuilder众多对象中最重要的一个对象,并且也是最不好理解的一个对象。它实际上是PowerBuilder程序与数据库之间传递信息的一个结构变量,共有15个成员。,3.7.4SQLCA对象说明,1DBMSstring所使用的数据库管理系统的名字,如SQLSERVER,Oracle,ODBC。2Databasestring要连接的数据库名字。3UserIDstring连接数据库所用的用户名。有的DBMS不需要此项。4DBPassstring用户连接数据库的口令。5Lockstring这是数据库的保护级别,一般不必给出。,3.7.4SQLCA对象说明,6LogIDstring登录到数据库服务器上的用户名,有的DBMS不需要此项,但Sybase和Oracle需要指定这个参数。7LogPassstring登录到数据库服务器上的用户口令。这个属性可设可不设,但Sybase和Oracle需要指定口令。8ServerNamestring数据库服务器名。,3.7.4SQLCA对象说明,9AutoCommitboolean指定是否将数据库设置成自动提交所有事务。默认是False,也就是说,必须在应用程序中进行事务管理,并在适当的时候对数据库提交事务。如果选择True,则每个事务都由系统自动提交。10DBParmstring用于向数据库传递特殊信息的属性。,3.7.4SQLCA对象说明,11sqlcode类型long1)如果与数据库的操作成功,返回0此时sqlca.sqlcode的值为02)如果sqlca.sqlcode小于0那么就是发生了某种严重的错误,比如数据库定义与查询定义不一致等3)sqlca.sqlcode=100没有检索到数据,3.7.4SQLCA对象说明,12sqlca.sqlerrtext当sqlca.sqlcode0时,就是有错误,具体错误内容使用sqlerrtext来说明。比如:messagebox(错误代码:+string(sqlca.sqlcode),sqlca.sqlerrt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位招聘考试教师招聘政治学科专业知识试卷(政治学教学创新)
- 2025年探伤工(助理技师)检测设备维护规范考试试卷
- 2025年事业单位招聘考试卫生类护理学专业知识试卷(护理教育学试题)
- 血液透析室专科考试试题及答案
- 武汉学院《水族景观规划与设计》2024-2025学年第一学期期末试卷
- 2024年湖南省益阳市中考英语真题【含答案】
- 2024年大学生英语四级必考词汇和语法仿真模拟试题及答案(二)
- 浙江横店影视职业学院《体育基础(下)》2024-2025学年第一学期期末试卷
- 四川音乐学院《全球化与精神健康》2024-2025学年第一学期期末试卷
- 辽宁大学《建筑鉴赏》2024-2025学年第一学期期末试卷
- 2025年医院电子病历系统在医疗信息化中的应用优化与患者满意度报告
- 中国电子艾灸仪行业投资分析及发展战略咨询报告
- 安全监理试题及试题答案
- 粮食机收减损培训课件
- 2025年山东高考化学试卷真题及答案详解解读(精校打印)
- 2025餐饮劳动合同书 电子版
- (2025)职业教育法知识竞赛题库带含答案
- CJ/T 449-2014切断型膜式燃气表
- 滨州海上风电项目可行性研究报告
- 人工智能赋能中小学教育:个性化学习路径优化研究
- 2025年月嫂考证:母婴护理师等技能资格知识考试题与答案
评论
0/150
提交评论