任何对sql类数据库操作的语言必学的:),下面的是PB版本,有一些PB的特性.
SQL语句
sql语句以;结束,可写成多行形式而不用&
1、SELECT
注意:变量前加:
一个例子:
SELECT Employee.Emp_id,Employee.Emp_name,
Employee.Emp_salary,Dept.Dept_name
FROM Employee,Dept
WHERE (Emp_name like ''''张%'''')AND (Emp_sex=''''男'''')
AND Employee.Dept_id=Dept.Dept_id
ORDER BY Employee.Emp_id;
给变量的例子:
Dec Emp_salary
SELECT max(Emp_salary)
INTO :Emp_salary
FROM Employee;
2、INSERT
一个例子:
Int Emp_nbr
String Emp_name
Emp_nbr=Integer(sle_number.Text)
Emp_name=sle_name.Text
INSERT INTO Employee(employee.Emp_nbr,employee.Emp_name)
VALUES(:Emp_nbr,:Emp_name)
USING Emp_tran;
3、UPDATE
一个例子:
UPDATE Employee//表名
SET emp_name=:sle_Name.Text //修改
WHERE Employee.emp_nbr=:Emp_nbr;//修改条件
4、DELETE
一个例子:
DELETE FROM Employee //从表Employee
WHERE Emp_nbr <100;删除条件满足的记录
5、CONNECT和DISCONNECT
执行DISCONNECT前自动执行COMMIT
6、COMMIT和ROLLBACK
7、使用游标(用来保存多条记录操作)
DECLARE,OPEN,FECTH...INTO...:NAME,CLOSE,DELETE(删除游标指向的记录),UPDATE(修改游标指向的记录)
利用游标打开多个记录的例子
//声明powerscript变量,存放读出的雇员姓名
String emp_cur CURSOR FOR
SELECT emp_name FROM EMPLOYEE
WHERE emp_state=:sle_1.text;
//打开游标,
执行SELECT语句
OPEN emp_cur;
//从结果集中取第一条记录
FETCH emp_cur INTO "emp_name_var;
//判断FETCH语句执行情况
IF SQLCA.SQLCode<0 THEN
MessageBox("Datebase Error",&//显示错误信息
SQLCA.SQLErrText,Exclamation!)
RETURN
END IF
//如果FETCH语句执行正确,用循环语句逐条取结果集中的记录,到取完
DO WHILE SQLCA.SQLCode=0 //是否取完数据
//把取出的雇员姓名加入下拉列表框中
dlbl_1.additem(emp_name_var)
//继续从结果集中取下一符合条件的数据
FETCH emp_cur INTO :emp_name_var;
<place w:st="on"><span lang="EN-US" style="FONT-SIZE: 14pt">LOOP</span></place>
//关闭游标
CLOSE emp_cur;
8、处理BLOB型数据(大部分语句只能对一条记录进行操作,多余则出错)
SELECTBLOB,
一个例子:
//声明BLOB型变量Emp_id_pic,用语存放Emp_pic列的数据
Blob Emp_pic
SELECTBLOB Emp_pic
INTO :Emp_id_pic
FROM Employee
WHERE Employee.Emp_Id="001"
USING Emp_tran;
//如果执行正确,在pb_1中显示照片
IF Emp_tran.SQLCode=0 THEN
pb1.SetPicture(Emp_id_pic)
END IF
UPDATEBLOB
一个例子:
Integer fh
Blob Emp_id_pic
//以读方式打开一个流模式文件
fh=FileOpen("c:\emp_100.bmp",StreamMode!)
//判断打开文件是否成功
IF fh<>-1 THEN
//从文件中读取图形数据存于Blob型变量
FileRead(fh,emp_id_pic)
//关闭文件
FileClose(fh)
//修改表的emp_pic列
UPDATEBLOB Employee
SET emp_pic=:Emp_id_pic
WHERE EMp-Id="001";
END IF
IF SQLCA.SQLNRows>0 THEN//判断是否返回结果
COMMIT;/提交事务
ELSE
ROLLBACK;//回滚事务
END IF
9、动态SQL语句
事务对象,动态描述区(SQLSA),动态描述区(SQLCA)
示例1:
String Mysql
Mysql ="CREAT TABLE Employee"&
+"(emp_id char(6)not null,"&
+"emp_hbr integer not null,"&
+"dept_id integer not null,"&
+"emp_fname char(10) not null,"&
+"emp_lname char(20) not null)"
EXCUTE IMMEDIATE :Mysql;
实例2:
EXCUTE IMMEDIATE "DROP TABLE Employee" USING My_trans;
等价于:
String Mysql
Mysql+"DROP TABLE Employee"
EXCUTE IMMEDIATE :Mysql USING My_trans
实例3:
//在表中插入记录
Int Dept_id_var=156
String Dept_name_var
SetNull(Dept_name_var)
CONNECT;//
PREPARE SQLCA //prepare的作用???
FROM "INSERT INTO dept VALUES(?,?)";
EXCUTE SQLCA USING :Dept_id_var,:Dept_name_var
分享到:
相关推荐
PowerBuilder支持动态SQL语句的四种格式及其使用方法,并通过实例进行详细说明。 在PowerBuilder中,动态SQL语句可以通过 CLOSE、DECLARE、FETCH、OPEN 和 EXECUTE 等语句的动态形式实现。PowerBuilder提供了...
在PowerBuilder中,动态SQL语句是一种重要的技术,它允许程序员在程序运行时构造和执行SQL语句,而不是在编译时确定,这为开发提供了灵活性。 动态SQL语句主要有四种类型,每一种类型针对不同的应用场景,下面是...
PowerBuilder 动态SQL语句应用分析 PowerBuilder 是目前最流行的开发工具之一,广泛应用于各个行业,包括银行、证券、保险等金融行业。PowerBuilder 提供了动态 SQL 语句的功能来支撑对数据库的访问。但是,传统的...
在数据库应用开发中,PowerBuilder是常用的一种高效开发工具,它特别适用于数据库系统的开发。PowerBuilder的核心优势之一是提供强大的数据库访问能力,其中动态SQL语句是其一大特色功能,允许开发者在程序执行时...
在 PowerBuilder 10 应用开发实例中,通常涉及以下几个步骤: 1. **设计用户界面**:使用窗口设计器创建用户界面,添加所需的控件,如按钮、文本框等,并设置其属性。 2. **创建数据窗口**:选择合适的数据源,...
6. PowerBuilder的其他高级特性:如.NET集成、Web服务调用、报表生成等,也可能在实例中有所体现,帮助开发者提升开发效率和应用的可扩展性。 通过对这些实例的学习和实践,开发者不仅能掌握PowerBuilder的基本操作...
在实例中,你可以创建一个DataWindow,连接到数据库,设置SQL语句,然后在窗口中展示这些数据,同时学习如何处理用户的输入和更新数据库。 此外,PowerBuilder支持事件驱动编程,这意味着当用户与UI交互时,可以...
通过DataWindow对象,开发者可以直接在SQL语句中编写复杂的查询,或者使用DataWindow的API进行数据操作,如插入、更新和删除记录。 在提供的压缩包中,你可能会找到以下类型的文件: 1. PBL(PowerBuilder Library...
书中还特别强调了SQL语句在数据库操作中的重要性,SQL是数据库查询和管理的基础语言,读者可以学习如何在PowerBuilder中使用SQL语句进行数据的增删改查操作。在书中,还讲解了PowerBuilder 9.0中常用控件的使用,...
源代码中可能会有自定义类的示例,学习者可以通过这些实例了解如何在PowerBuilder中实现面向对象的设计。 6. 用户界面设计: PowerBuilder提供了丰富的控件和布局工具,使得UI设计变得简单。通过实例源代码,学习...
【描述】:在“POWER BUILDER 的一些基本操作实例”中,学习者可以逐步了解和掌握如何使用PowerBuilder进行数据库操作。这些实例可能包括创建数据窗口、设计用户界面、编写SQL语句以及数据库对象的管理等。对于初学...
3. 数据窗口:数据窗口是PowerBuilder最具特色的组件,它允许开发者无需编写SQL语句就能实现对数据库的操作。数据窗口支持多种显示样式,如网格、图表、子窗口等,同时也支持各种数据库连接,包括ODBC、OLE DB等。 ...
《PowerBuilder8数据库系统开发实例导航》是一本针对PowerBuilder8.0的数据库系统开发教程,旨在帮助初学者快速入门并提升进阶技能。PowerBuilder是一款强大的可视化开发工具,尤其在数据库应用系统开发方面有着广泛...
14.自定义事件+自定制事件+使用SQL语句+游标 15.PB代码升级+全局函数 16.Window对象_窗体常用属性+常用事件open 17.常用事件close+closequery 18.常用事件Timer示例+窗口间信息传递 19.open事件实例+idle事件实现...
在PowerBuilder的工作区中,选择“DataWindow”对象并添加到窗口或者控件中。然后在设计视图中,选择数据源为Oracle数据库表,PB会自动生成列结构。 4. **定义检索参数** 描述中提到的“定义检索参数”是数据窗口...
【PowerBuilder设计作品——订餐系统】是一款基于PowerBuilder开发的简单订餐应用程序,它在学生项目或教学环境中被广泛使用。PowerBuilder是一款强大的第四代编程语言(4GL),专为构建数据库应用而设计,其可视化...
在"powerbuilder实例"这个压缩包中,你可能会找到一系列用于学习和实践的练习示例,这对于初学者或有经验的开发者来说都是宝贵的资源。 PowerBuilder的主要特性包括: 1. **可视化编程**:PowerBuilder提供了图形...
TreeView是用户界面中常用的一种元素,能够以树形结构展示层次化的数据。 在PowerBuilder中,TreeView控件可以用来展示数据库中的数据,例如部门结构,每个节点代表一个部门,节点的子节点则表示该部门下的子部门或...
书中会介绍如何配置Oracle环境,设置数据库连接,以及使用SQL语句进行数据管理。此外,还会涉及PL/SQL编程,用于创建存储过程、触发器等数据库对象,以实现更复杂的业务逻辑。 在"第4部分 源代码"中,读者可以找到...