数据库编程基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ 通常在应用对象的Open事件中进行数据库的连接,例如 以下代码:
SQLCA.DBMS = "ODBC"
SQLCA.DBParm = "ConnectString='DSN=experiment;UID=;PWD='“
CONNECT USING SQLCA;
7.2.2 DISCONNECT语句
7.3 基本SQL语句
❖ 基本SQL语句是指对数据库中的数据表进 行查询和操纵的简单SQL语句,主要包括 以下四种:
SELECT语句、INSERT语句 DELETE语句和UPDATE语句。
❖ 此外,数据库中还经常使用到针对Blob数 据类型操作的SQL语句:
SELECTBLOB和UPDATEBLOB。
❖ DISCONNECT语句主要用于断开数据库连接。执行该语 句时,事务对象首先执行COMMIT语句进行事务提交,然 后再断开数据库连接。
❖ DISCONNECT语句的语法格式为:
DISCONNECT {Using TransactionObject};
❖ 通常在应用对象的Close事件中断开与数据库的连接,例 如以下代码:
7.3.2 INSERT语句
❖ INSERT语句主要用于向数据表中增加一条记录,其语法 格式为:
INSERT INTO TableName ( FieldName {,...} )
VALUES ( ValueOfField {,...} ) { Using TransactionObject };
❖ COMMIT语句的语法格式为:
COMMIT {Using TransactionObject};
❖ 例如以下代码:
IF dw_1.update( ) = 1 then COMMIT USING SQLCA; END IF
7.2.4 ROLLBACK语句
❖ ROLLBACK语句用于回滚事务,撤销未完成的事务。
❖ 例7.3试设计以下程序,实现根据输入的章节编号从章节表 chapter中删除相应的记录信息,程序的运行界面如图7-3 所示:
IF SQLCA.dbhandle( ) <> 0 then DISCONNECT USING SQLCA; END IF
7.2.3 COMMIT 语句
❖ COMMIT语句主要用于提交事务,完成对数据库的物理修 改。
❖ COMMIT语句的执行并不会断开同数据库的连接,但会关 闭所有打开的游标和过程,然后开始一个新的事务。
SQL语句;
❖ 每条完整的SQL语句必须以分号“;”结束。SQL语句既 可以写成一行,又可以写成多行,只需要在语句结束后放 上一个分号“;”即可。例如以下代码:
INSERT INTO "chapter" ( "id", "name" ) VALUES ( 7, “ 第7章 数据库编程基础 ” ) ;
❖ SQLCode属性的返回值及其意义如表7-1所示。
7.2.1 CONNECT语句
❖ CONNECT语句主要用于通过指定的事务对象建立与数据 库的连接。
❖ CONNECT语句的语法格式为:
CONNECT {Using TransactionObject};
❖ 值得一提的是,在执行该语句前,事务对象必须已经正确 的设置了数据库连接的属性。
❖ 例7.2试设计以下程序,实现把输入的章节编号和章节名 称保存到章节表chapter中,程序的运行界面如图7-2所示:
7.3.3 DELETE语句
❖ DELETE语句主要用于删除满足一定条件的 记录,其语法格式为:
DELETE FROM TableName WHERE Criteria {Using TransactionObject};
❖ 在嵌入式SQL语句中,可以使用合法的常量和变量。如果 使用了变量,那么必须在变量名前加上冒号“:”,例如 以下代码:
SELECT "chapter"."id", "chapter"."name" INTO :id, :name FROM "chapter" ;
7.1.2 SQL语句执行检查
❖ SQL语句的执行可能成功,也可能失败,因此良好的编程 风格是在每条执行的SQL语句后检查其执行情况,然后根 据执行情况给出相应的提示。
❖ 在PowerBuilder中,每执行完一条SQL语句之后,与执行 该SQL语句相关联的事务对象的属性SQLCode就会返回 一个数值来指示最近一条SQL语句的执行是否成功。
❖ PowerBuilder在将嵌入式SQL语句发送到具体的数据库管 理系统之前,并不作任何的处理,而是由具体的数据库管 理系统执行相应的SQL语句,然后返回处理结果,最终将 处理结果在PowerBuilder中显示出来。
7.1.1 SQL语句语法格式
❖ 在PowerBuilder中,嵌入式SQL语句的书写格式为:
7.3.1 SELECT语句
❖ SELECT语句主要用于检索数据库中满足一定条件的记录, 其语法格式为:
SELECT FieldList
INTO
VariableList
wk.baidu.com
FROM
TableList
WHERE Criteria {Using TransactionObject};
❖ 例7.1试设计以下程序,实现根据输入的章节编号从章节表chapter中 检索得到章节名称,程序的运行界面如图7-1所示。
❖ ROLLBACK语句的执行并不会断开同数据库的连接,但会 关闭所有打开的游标和过程,然后开始一个新的事务。
❖ ROLLBACK语句的语法格式为:
ROLLBACK {Using TransactionObject};
❖ 例如以下代码:
IF this.update( ) = 1 then COMMIT USING SQLCA; ELSE ROLLBACK USING SQLCA; END IF
7.1 嵌入式SQL语句
❖ SQL是Structured Query Language的缩写,即结构化查 询语句,关系型数据库管理系统的标准语句。
❖ PowerBuilder既支持标准SQL语句,又提供了对嵌入式 SQL语句的支持。
❖ 嵌入式SQL语句进一步加强了数据库操纵的灵活性,同时 也有效地解决了数据窗口未能提供的与数据库交互的有关 问题。
SQLCA.DBMS = "ODBC"
SQLCA.DBParm = "ConnectString='DSN=experiment;UID=;PWD='“
CONNECT USING SQLCA;
7.2.2 DISCONNECT语句
7.3 基本SQL语句
❖ 基本SQL语句是指对数据库中的数据表进 行查询和操纵的简单SQL语句,主要包括 以下四种:
SELECT语句、INSERT语句 DELETE语句和UPDATE语句。
❖ 此外,数据库中还经常使用到针对Blob数 据类型操作的SQL语句:
SELECTBLOB和UPDATEBLOB。
❖ DISCONNECT语句主要用于断开数据库连接。执行该语 句时,事务对象首先执行COMMIT语句进行事务提交,然 后再断开数据库连接。
❖ DISCONNECT语句的语法格式为:
DISCONNECT {Using TransactionObject};
❖ 通常在应用对象的Close事件中断开与数据库的连接,例 如以下代码:
7.3.2 INSERT语句
❖ INSERT语句主要用于向数据表中增加一条记录,其语法 格式为:
INSERT INTO TableName ( FieldName {,...} )
VALUES ( ValueOfField {,...} ) { Using TransactionObject };
❖ COMMIT语句的语法格式为:
COMMIT {Using TransactionObject};
❖ 例如以下代码:
IF dw_1.update( ) = 1 then COMMIT USING SQLCA; END IF
7.2.4 ROLLBACK语句
❖ ROLLBACK语句用于回滚事务,撤销未完成的事务。
❖ 例7.3试设计以下程序,实现根据输入的章节编号从章节表 chapter中删除相应的记录信息,程序的运行界面如图7-3 所示:
IF SQLCA.dbhandle( ) <> 0 then DISCONNECT USING SQLCA; END IF
7.2.3 COMMIT 语句
❖ COMMIT语句主要用于提交事务,完成对数据库的物理修 改。
❖ COMMIT语句的执行并不会断开同数据库的连接,但会关 闭所有打开的游标和过程,然后开始一个新的事务。
SQL语句;
❖ 每条完整的SQL语句必须以分号“;”结束。SQL语句既 可以写成一行,又可以写成多行,只需要在语句结束后放 上一个分号“;”即可。例如以下代码:
INSERT INTO "chapter" ( "id", "name" ) VALUES ( 7, “ 第7章 数据库编程基础 ” ) ;
❖ SQLCode属性的返回值及其意义如表7-1所示。
7.2.1 CONNECT语句
❖ CONNECT语句主要用于通过指定的事务对象建立与数据 库的连接。
❖ CONNECT语句的语法格式为:
CONNECT {Using TransactionObject};
❖ 值得一提的是,在执行该语句前,事务对象必须已经正确 的设置了数据库连接的属性。
❖ 例7.2试设计以下程序,实现把输入的章节编号和章节名 称保存到章节表chapter中,程序的运行界面如图7-2所示:
7.3.3 DELETE语句
❖ DELETE语句主要用于删除满足一定条件的 记录,其语法格式为:
DELETE FROM TableName WHERE Criteria {Using TransactionObject};
❖ 在嵌入式SQL语句中,可以使用合法的常量和变量。如果 使用了变量,那么必须在变量名前加上冒号“:”,例如 以下代码:
SELECT "chapter"."id", "chapter"."name" INTO :id, :name FROM "chapter" ;
7.1.2 SQL语句执行检查
❖ SQL语句的执行可能成功,也可能失败,因此良好的编程 风格是在每条执行的SQL语句后检查其执行情况,然后根 据执行情况给出相应的提示。
❖ 在PowerBuilder中,每执行完一条SQL语句之后,与执行 该SQL语句相关联的事务对象的属性SQLCode就会返回 一个数值来指示最近一条SQL语句的执行是否成功。
❖ PowerBuilder在将嵌入式SQL语句发送到具体的数据库管 理系统之前,并不作任何的处理,而是由具体的数据库管 理系统执行相应的SQL语句,然后返回处理结果,最终将 处理结果在PowerBuilder中显示出来。
7.1.1 SQL语句语法格式
❖ 在PowerBuilder中,嵌入式SQL语句的书写格式为:
7.3.1 SELECT语句
❖ SELECT语句主要用于检索数据库中满足一定条件的记录, 其语法格式为:
SELECT FieldList
INTO
VariableList
wk.baidu.com
FROM
TableList
WHERE Criteria {Using TransactionObject};
❖ 例7.1试设计以下程序,实现根据输入的章节编号从章节表chapter中 检索得到章节名称,程序的运行界面如图7-1所示。
❖ ROLLBACK语句的执行并不会断开同数据库的连接,但会 关闭所有打开的游标和过程,然后开始一个新的事务。
❖ ROLLBACK语句的语法格式为:
ROLLBACK {Using TransactionObject};
❖ 例如以下代码:
IF this.update( ) = 1 then COMMIT USING SQLCA; ELSE ROLLBACK USING SQLCA; END IF
7.1 嵌入式SQL语句
❖ SQL是Structured Query Language的缩写,即结构化查 询语句,关系型数据库管理系统的标准语句。
❖ PowerBuilder既支持标准SQL语句,又提供了对嵌入式 SQL语句的支持。
❖ 嵌入式SQL语句进一步加强了数据库操纵的灵活性,同时 也有效地解决了数据窗口未能提供的与数据库交互的有关 问题。