- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式SQL语言(数据库原理与应用).pdf
下载
下载
下载
附录B 嵌入式SQL语言
S Q L是一种双重式语言,它既是一种用于查询和更新的交互式数据库语言,又是一种应
用程序进行数据库访问时所采取的编程式数据库语言。 S Q L语言在这两种方式中的大部分语
法是相同的。在编写访问数据库的程序时,必须从普通的编程语言开始(如 C语言),再把
S Q L加入到程序中。所以,嵌入式 S Q L语言就是将 S Q L语句直接嵌入到程序的源代码中,与其
他程序设计语言语句混合。专用的 S Q L预编译程序将嵌入的 S Q L语句转换为能被程序设计语
言(如C语言)的编译器识别的函数调用。然后, C编译器编译源代码为可执行程序。
当然,嵌入式S Q L语句完成的功能也可以通过应用程序编程接口( A P I )实现。通过A P I
的调用,可以将S Q L语句传递到D B M S ,并用A P I 调用返回查询结果。这个方法不需要专用的
预编译程序。
B.1 一个嵌入SQL语言的简单例子
我们首先来看一个简单的嵌入式 S Q L语言的程序( C语言):在YA N G Z H服务器的p u b s 数
据库上查询 l a s t n a m e为“W h i t e ”的f i r s t n a m e 。用s a (口令为p a s s w o r d )连接数据库服务器。
这个例子程序如例 1。
例1 查询l a s t n a m e为“W h i t e ”的f i r s t n a m e 的信息。
m a i n ( )
{
EXEC SQL BEGIN DECLARE SECTION;
char first_name[50];
char last_name[] = White;
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO YA N G Z H . p u b s
USER sa.password;
EXEC SQL SELECT au_fname INTO :first_name
FROM authors where au_lname = :last_name;
PRINTf(first name: %s\n,first_name);
return (0);
}
从上面这个例子,我们看出嵌入 S Q L的基本特点是:
1) 每条嵌入式 S Q L语句都用EXEC SQL 开始,表明它是一条 S Q L语句。这也是告诉预编译
器在EXEC SQL和“;”之间是嵌入式 S Q L语句。
2) 如果一条嵌入式 S Q L语句占用多行,在 C程序中可以用续行符“\ ”,在F o r t r a n 中必须有
续行符。其他语言也有相应规定。
3 ) 每一条嵌入式S Q L语句都有结束符号,如:在 C 中是“;”。
如果你需要在N T平台编写C 的嵌入S Q L语句,那么你必须保证设置了以下环境:
• Windows NT Workstation 3.51或以上;Windows NT Server 3.51 或以上。
446 SQL Server 7关系数据库系统管理与开发指南
下载
• VC++版本2 . 0或以上;或者其他 1 0 0 %兼容的编译器和连接器。
• SQL Server6.0或以上。
如果你需要在 Wi n d o w s 9 5 / 9 8平台编写C 的嵌入S Q L语句,那么你必须保证设置了以下环
境:
• Windows 95/98 。
• VC++版本2 . 0或以上;或者其他 1 0 0 %兼容的编译器和连接器。
• SQL Server6.0或以上。
本附录中的所有例子都是在N T平台调试成功的。
B.2 嵌入SQL的处理过程
下面我们来说明整个嵌入 S Q L的处理过程。以下是生成可执行文件的步骤
文档评论(0)