《高级窗口控件》PPT课件.ppt

上传人:夏** 文档编号:570616826 上传时间:2024-08-05 格式:PPT 页数:40 大小:647.56KB
返回 下载 相关 举报
《高级窗口控件》PPT课件.ppt_第1页
第1页 / 共40页
《高级窗口控件》PPT课件.ppt_第2页
第2页 / 共40页
《高级窗口控件》PPT课件.ppt_第3页
第3页 / 共40页
《高级窗口控件》PPT课件.ppt_第4页
第4页 / 共40页
《高级窗口控件》PPT课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《《高级窗口控件》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《高级窗口控件》PPT课件.ppt(40页珍藏版)》请在金锄头文库上搜索。

1、第第8章章 SQL语句和游标语句和游标8.1SQL语句语句8.2游标的使用游标的使用8.3SQL语句和游标编程实例语句和游标编程实例小小 结结 返回总目录返回总目录8.1 SQL语句语句 8.1.1 SQL语句的作用语句的作用8.1.2 SQL语句的基本格式语句的基本格式8.1.3 SQL语句的应用举例语句的应用举例8.1.4 粘贴粘贴SQL语句语句 返回章目录返回章目录8.1.1 SQL语句的作用语句的作用PowerScript提供了一整套嵌入式SQL语句。利用嵌入式SQL语句,我们能够在程序中灵活地操纵数据库。PowerScript支持在程序中使用嵌入式SQL语句,并且支持在SQL语句中使

2、用具体数据库管理系统(DBMS)特有的SQL语句、函数和保留字 返回本节返回本节录录8.1.1 SQL语句的作用语句的作用在程序中书写SQL语句的格式为:SQL语句; 整个SQL语句可以写在一行,也可以写成更易理解的多行格式,只要在语句结束处放上一个分号(;)即可。在SQL语句中可以使用常量或合法的变量,但使用变量时需在变量前加个冒号(:)(通常称作绑定变量或引用变量),多个变量或常量之间用逗号(,)分隔。我们向“学生基本情况”表中插入数据项。事先创建好表,表名为“学生基本情况”。 返回本节返回本节录录8.1.2 SQL语句的基本格式语句的基本格式1.SELECT语句 单行SELECT语句从数

3、据库中检索一条记录,如果找到多条满足条件的记录,则产生错误(后续章节将介绍读取多条数据库记录的游标方法)。其语法格式为SELECT FieldsList INTO VarList FROM TableList WHERE CriteriaUSING TransactionObject; 返回本节返回本节录录8.1.2 SQL语句的基本格式语句的基本格式2.INSERT语句 用INSERT语句向数据库中插入一条记录。其语法格式为INSERT INTO TableName(FieldName,.)VALUES(ValueOfField,.)USING TransactionObject; 返回本节

4、返回本节录录8.1.2 SQL语句的基本格式语句的基本格式3.UPDATE语句 用UPDATE语句修改表中指定的数据。其语法格式为UPDATE TableNameSET FieldName=Value,FieldName=Value,.WHERE CriteriaUSING TransactionObject; 返回本节返回本节录录8.1.2 SQL语句的基本格式语句的基本格式4.DELETE语句 使用DELETE语句删除表中的数据。其语法格式为DELETE FROM TableName WHERE CriteriaUSING TransactionObject; 返回本节返回本节录录8.1.

5、3 SQL语句的应用举例语句的应用举例1.检查SQL语句执行情况嵌入式SQL语句的执行有可能成功,也有可能失败,良好的编程风格对每条可执行的SQL语句都会检查其执行情况。每当执行一条SQL语句后,与该语句相关的事务对象的SQLCode属性都给出一个值指示SQL语句的执行是否成功。SQLCode取值为: 0:最近一次SQL语句执行成功。 -1:最近一次SQL语句执行失败。 100:最近一次SQL语句没有返回数据。 返回本节返回本节录录8.1.3 SQL语句的应用举例语句的应用举例 2.SQL语句的应用举例建立一个应用。连接数据库(MSS SQL Server)。创建上表。建立如图81所示界面。

6、返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句SQL语句虽不难学,但要记忆十分清楚也并不容易。PowerBuilder提供了图形化生成SQL语句的工具画板,利用它能够用交互方式定义SQL语句并将其粘贴到程序中。PowerBuilder的SQL语句画板能够构造三类语句:游标、非游标和过程。非游标SQL语句对应于单行SELECT、INSERT、UPDATE和DELETE语句。下面以构造SELECT语句为例说明基本操作过程,并扼要说明其他语句的粘贴方法。 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句粘贴过程如图812、图813、图814、图815、图816所示。如图812所示,在脚

7、本编辑窗口中单击鼠标右键选择要粘贴的语句。 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句如图813所示,选择表 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句在如图814所示的窗口中对选中表的字段进行选择。 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句单击此时画板的“Design.Into Variables.”弹出如图815所示画面 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句输入程序变量,单击图上“OK”按钮提交返回结果,如图816所示。 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句在数据库画板中我们也可以对在编写程序时粘贴所需要的SQL语句

8、,具体过程如下:双击图817中的一个图标例如双击“SELECT”进入如图818所示的选择表窗口 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句单击“Open”按钮进入图819所示窗口 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句单击工具栏上的“Return”按钮进入图820,我们可以看到SQL语句。 返回本节返回本节录录8.1.4 粘贴粘贴SQL语句语句可以使用“Ctrl+L”得到如图821所示结果。 返回本节返回本节录录 8.2 游标的使用游标的使用8.2.1 游标的含义及作用游标的含义及作用8.2.2 游标的使用过程游标的使用过程8.2.3 声明游标(声明游标(DECLA

9、RE语句)语句) 8.2.4 打开游标(打开游标(OPEN语句)语句)8.2.5 提取数据(提取数据(FETCH语句)语句)8.2.6 关闭游标(关闭游标(CLOSE语句)语句) 8.2.7 使用使用Where子句子句 返回章目录返回章目录8.2.1 游标的含义及作用游标的含义及作用选取多行数据时必须定义游标。所谓游标可以理解成一个返回结果集合的指针,使用该指针可以对返回的结果逐条处理。事实上,DataWindow可以替代游标进行从后台数据库查询多条记录的复杂操作,但是,同DataWindow和DataStore相比,游标也有其自身的优点,比如系统资源占用少,操作灵活,可根据需要定义变量类型,

10、如全局、实例、局部类型和访问类型(如私有或公共)等 返回本节返回本节录录8.2.2 游标的使用过程游标的使用过程游标典型的使用过程一般为:(1)用DECLARE说明游标;(2)用OPEN语句打开游标;(3)使用FETCH语句读取一行数据;(4)处理数据;(5)判断是否已经读完所有数据,未读完时重复执行35步;(6)使用CLOSE语句关闭游标。总之使用游标有四种基本的步骤:声明游标、打开游标、提取数据、关闭游标。下面分别介绍DECLARE、OPEN、FETCH、CLOSE语句。 返回本节返回本节录录8.2.3 声明游标(声明游标(DECLARE语语句)句)像使用其他类型的变量一样,使用一个游标之

11、前,首先应当声明它。游标的声明包括两个部分:游标的名称和这个游标所用到的SQL语句。使用游标前需要用DECLARE语句说明游标。其语法格式为:DECLARE CursorName CURSOR FOR Select StatementUSING TransactionObject; 其中,CursorName是游标的名称,可以使用任何有效的标识符来表示;SelectStatement是任何有效的SELECT语句;TransactionObject是事务对象名,缺省时使用SQLCA。 返回本节返回本节录录8.2.4 打开游标(打开游标(OPEN语句)语句)游标声明后在其他操作之前,必须打开它,打

12、开已经说明的游标并执行相应的SELECT语句。其语法格式为:OPEN CursorName; 其中CursorName是已经用DECLARE语句说明的游标名 返回本节返回本节录录8.2.5 提取数据(提取数据(FETCH语句)语句)当使用OPEN语句打开游标并在数据库中执行查询后,我们还不能立即利用查询结果集中的数据,必须用FETCH语句来读取数据。FETCH语句是游标使用的核心。一条FETCH语句一次可以将一条记录放入程序员指定的变量中。在DataWindow和DataStore中,执行了Retrieve()函数以后,查询的所有结果全部可以得到;而使用游标,我们只能逐条记录得到查询结果。已经

13、声明并打开一个游标后,我们就可以将数据放入任意的变量中。在FETCH语句中可以指定游标的名称和目标变量的名称 返回本节返回本节录录8.2.5 提取数据(提取数据(FETCH语句)语句)FETCH语句从游标中读取当前记录并把它保存到指定的变量中。当数据库支持下述用法时,还可以使用FETCH FIRST、FETCH PRIOR、FETCH LAST。FETCH语句的语法格式为: FETCH CursorName INTO HostVariableList; 其中,CursorName是OPEN语句打开的游标名;HostVariableList是与SELECT语句中选择字段相对应的主变量列表。 返回

14、本节返回本节录录8.2.6 关闭游标(关闭游标(CLOSE语句)语句)CLOSE语句关闭先前打开的游标。其语法格式为:CLOSE CursorName; 其中CursorName是先前打开游标的名称。关闭游标后,就不能再使用FETCH语句从游标中读取数据了。下面是关闭游标的示例:CLOSE xhxm; 注意:在游标操作的最后,不要忘记关闭游标,要养成良好的编程习惯,以使系统释放游标占用的资源。 返回本节返回本节录录8.2.7 使用使用Where子句子句DECLARE语句的作用只是定义一个游标,在OPEN语句中这个游标才会真正地被执行。了解了这些,我们就可以很方便地实现这样的功能在DECLARE

15、的WHERE子句中加入变量作参数,如下所示:Dec fenshu .定义分数变量fenshu=dec(ddlb1.text)DECLARE xhxm CURSOR FOR .声明游标SELECT xh,xm FROM chengjibiao WHERE shuxue=:fenshu;OPEN xhxm; .打开游标 tring xh,xm .定义学号、姓名变量DO WHILE SQLCA.SQLCode=0FETCH xhxm INTO:xh,:xm; .读取数据 返回本节返回本节录录8.2.7 使用使用Where子句子句LOOP CLOSE xhxm; .关闭游标同其他变量一样,我们也可以定

16、义游标的访问类型:全局、共享、实例或局部,游标变量的命名规则同其他变量一样。 如果连接的数据库管理系统支持存储过程,那么在PowerScript中就可以使用定义在数据库中的存储过程。 返回本节返回本节录录8.2.7 使用使用Where子句子句使用存储过程的方法与游标十分类似:首先用DECLARE语句说明存储过程(其语法请参看联机帮助),然后用EXECUTE语句执行已说明的过程,再使用FETCH语句读取各条记录,最后用CLOSE语句关闭存储过程。 在PowerScript中使用存储过程前,应该首先在数据库中定义所需的存储过程。使用存储过程能够提高应用程序的执行效率。应该注意到,并非所有的数据库管

17、理系统都支持存储过程。注意 打开游标或存储过程后,如果要使用COMMIT或ROLLBACK语句,必须十分小心,因为这两个语句将关闭游标或存储过程。 返回本节返回本节录录 8.3 SQL语句和游标编程实例语句和游标编程实例例说明 本例将演示如何创建一个日用品管理系统登录窗口。通过对用户名和密码的验证进入系统。当密码输入错误时,提示有三次机会,当第三次还没有输入正确时,启动此系统将失败,其界面如图822所示。 返回章目录返回章目录8.3 SQL语句和游标编程实例语句和游标编程实例设计思路 本例中用户名下拉列表框使用游标从数据库中提取数据,用户名下拉列表框中的内容可以根据数据库内容的改变而变化;密码

18、的验证是通过SQL语句对数据库中的用户名和密码的比较,得出用户是否有权登录此系统。 返回本节返回本节录录8.3 SQL语句和游标编程实例语句和游标编程实例实现过程 1.连接数据库,创建表“PassWord”。主要字段有用户名、密码,如图823所示。下面的操作中所提取的数据将从该表中得到。 2.在工作区中创建窗口名称为:w Login系统登录打开的密码验证窗口。 3.为登录窗口添加如图822所示的控件:日用品管理系统静态文本(st1),用户名(st2),密码(st3),下拉列表(ddlb1),密码输入单行文本(sle1),确定按钮(cb1),取消按钮(cb2)。将各控件按图822所示布置。4.代

19、码的编写。 返回本节返回本节录录8.3 SQL语句和游标编程实例语句和游标编程实例(1)为窗口(w Login)定义变量(Instance Variables): Integer Enter number .记录登录次数变量(2)为窗口(w Login)的OPEN事件编写脚本: String Name Enter Number=0 .记录登录次数变量sle1.Text=ddlb1.SetFocus() .下面代码使用游标提取数据库中的数据添加到下拉列表框中DECLARE C1CURSOR FOR SELECT用户名FROM PassWord;OPEN C1; FETCH C1INTO:Name

20、; Do While SQLCa.SQLCode=0 ddlb1.AddItem(Name) FETCH C1INTO:Name;Loop CLOSE C1; .下列代码将单行文本与按钮1设为不可用If sle1.Enabled=TRUE Then sle1.Enabled=FALSE End if If cb1.Enabled=TRUE Then cb1.Enabled=FALSE End if 返回本节返回本节录录8.3 SQL语句和游标编程实例语句和游标编程实例(3)为下拉列表(ddlb1)的SelectionChanged事件添加代码: sle1.Enabled=TRUE cb1.En

21、abled=TRUE (4)选择所需要的用户名及输入密码之后就进入密码验证阶段(确定按钮的单击事件代码): Integer number .从数据库PassWord中验证用户名,密码是否正确,正确时number不为零SELECT count()INTO:number FROM PassWord Where用户名=:ddlb1.Text and密码=:sle1.Text USING SQLCA; If SQLCA.SQLCode100Then If SQLCA.SQLCode=-1Then MessageBox(系统错误,登录失败!n错误代码为:+String(SQLCA.SQLDBCode)+

22、n错误信息为:+SQLCA.SQLErrText+n请与系统员联系!,StopSign!) 返回本节返回本节录录8.3 SQL语句和游标编程实例语句和游标编程实例.当系统登录失败时将弹出如图824所示的对话框 Halt End if End ifIf number=0Then MessageBox(提示信息,口令非法,您还有+String(3-enter number)+次重输机会!,Exclamation!) 返回本节返回本节录录8.3 SQL语句和游标编程实例语句和游标编程实例.当您输入的口令有误时将弹出图825所示对话框 返回本节返回本节录录8.3 SQL语句和游标编程实例语句和游标编程

23、实例Enter number=Enter number+1 If Enter number2ThenMessageBox(提示信息,非法用户,您无权登录本系统!,StopSign!) .当您三次输入的口令都不正确时将弹出如图826所示对话框 Close(Parent) Return End ifReturn Else cb2.Enabled=TRUE MessageBox(登录信息,登录信息正确,欢迎使用本系统!)Open(w main)Close(parent)End if 返回本节返回本节录录小 结本章主要介绍了PowerScript语言支持的标准嵌入式SQL语句的语法,并列举了大量的实例帮助读者理解。应在熟练运用SQL语句的基础上,提高编写SQL语句的质量,以提高整个应用程序的性能。SQL语句用法比较灵活,如创建表、删除表等。本章介绍了游标的使用,列举了游标使用的例子,在学习过程中可以参考,但游标的编程比较复杂,要能够熟练运用游标必须多做一些练习。 返回章目录返回章目录

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号