- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]8第八章 数据库编程
第八章 数据库编程
本章内容: 应用系统如何对数据库
进行操作
嵌入式SQL
存贮过程
SQL/API (Application Programming
Interface)一组函数和程序
从宿主语言主程序中调用一个SQL DBMS库,
而SQL语句是这个调用的参数
目前更多的数据库编程在使用这种方法
ODBC
JDBC
SQL/CLI: The library for C is called SQL/CLI =
“Call -Level Interface.”
SQL的形式——嵌入式
Main(){
...
exec sql begin declare section;
char co[10];
int id;
exec sql end declare section;
…
exec sql select company_name
from customer
where id = :id
into co;
…
}
SQL的形式——SQL/API
#include “sqlcli.h”
SQLHSTMT hstmt;
…
SQLPrepare(hstmt,“Insert Into customer values(……)”);
SQLExcute(hstmt);
…
SQL概述——SQL的形式
嵌入式SQL
能将SQL语句嵌入到高级语言(宿主语
言)
使应用程序充分利用SQL访问数据库的
能力、宿主语言的过程处理能力
一般需要预编译,将嵌入的SQL语句转
化为宿主语言编译器能处理的语句
System Implementation
Host Language + Embedded SQL
Preprocessing
Host Language + Function calls
Host-language compiler SQL library
Object-code program
How to identify SQL statements?
How to move data between SQL and a
conventional programming language?
Mismatch problem exists?
嵌入式SQL
将SQL访问数据库的能力,与宿主语言的
过程化处理的能力进行综合
将SQL语句嵌入宿主语言中
产生的问题:
1)宿主语言如何识别SQL语句?
2 )SQL语句如何识别宿主语言变量?
3 )如何进行数据交换?
4 )集合操作如何转换为记录操作?
嵌入式SQL——形式
SQL语句加上前缀,区别于宿主语言的语句
Exec Sql sql语句 ;
ex.:Exec sql Delete From Student;
预编译
将具有前缀的语句,转换成宿主语言的调用语句
由宿主语言的编译器生成目标码
嵌入式SQL——SQLCA
SQLCA——SQL Communication Area
sql通讯区域
数据库工作单元←→宿主语言工作单元之间的通
讯区域
宿主语言→DB :请求、参数
DB→宿主语言:执行的状态信息、出错信息
DB→宿主语言:(查询)执行的结果
嵌入式SQL——SQLCA
Sqlca.sqlcode (Sybase 数据库):
error code
0: success
0 : fail
100: row not found
Sql
文档评论(0)