首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > SQL循序渐进(24)嵌入SQL
【标  题】:SQL循序渐进(24)嵌入SQL
【关键字】:SQL,24,SQL,24
【来  源】:网络

SQL循序渐进(24)嵌入SQL

嵌入SQL

为了更好的理解嵌入SQL,本节利用一个具体例子来说明。嵌入SQL允许程序连接数据库并且包括SQL代码到程序中,这样在程序中就可以对数据库进行使用、操作以及处理数据等等。以下是用C语言编写的使用嵌入SQL的例程,它将打印一个报告;这个程序必须在普通的编译之前先预编译SQL语句。嵌入SQL对于不同系统是不一样的,所以在不同的系统中对以下的程序稍作修改,特别是变量的声明以及过程记录等。在嵌入SQL时,考虑网络、数据库管理系统、操作系统是相当重要的。

以下是详细的代码:

#include <stdio.h>

/* 以下这部分是声明主机变量,它将使用于程序中*/

EXEC SQL BEGIN DECLARE SECTION;

int BuyerID;

char FirstName[100], LastName[100], Item[100];

EXEC SQL END DECLARE SECTION;


/* 以下包括SQLCA变量,它可以用来进行错误检查 */

EXEC SQL INCLUDE SQLCA;

main() {

/* 以下连接数据库*/

EXEC SQL CONNECT UserID/Password;

/* 以下是连接数据库并检查是否有错误产生T */ if(sqlca.sqlcode) {

printf(Printer, "Error connecting to database server.\n");

exit();

}

printf("Connected to database server.\n");

/* 下面声明一个 "Cursor"。它将在查询结果多于一行的时候使用*/

EXEC SQL DECLARE ItemCursor CURSOR FOR

SELECT ITEM, BUYERID

FROM ANTIQUES

ORDER BY ITEM;

EXEC SQL OPEN ItemCursor;

/* 你可以在这里还可以加入另外一些错误检查的内容,这里就省略了*/

/* 当这个CURSOR没有数据, sqlcode将被产生以允许我们退出循环。这里注意,为了简单起见,我们使程序遇到错误的时候就退出任何的sqlcode。*/

EXEC SQL FETCH ItemCursor INTO :Item, :BuyerID;

while(!sqlca.sqlcode) {

EXEC SQL UPDATE ANTIQUES

SET PRICE = PRICE + 5

WHERE ITEM = :Item AND BUYERID = :BuyerID;

EXEC SQL SELECT OWNERFIRSTNAME, OWNERLASTNAME

INTO :FirstName, :LastName

FROM ANTIQUEOWNERS

WHERE BUYERID = :BuyerID;

printf("%25s %25s %25s", FirstName, LastName, Item);


EXEC SQL FETCH ItemCursor INTO :Item, :BuyerID;

}

/* 关闭CURSOR,提交变化并退出程序。*/

EXEC SQL CLOSE DataCursor;

EXEC SQL COMMIT RELEASE;

exit();

}

SQL循序渐进(23)UNION 和 外部连接:【上一篇】
SQL语言入门教程:第五课 删除数据库表格:【下一篇】
【相关文章】
  • SQL循序渐进(7)更新记录
  • SQL循序渐进(6)删除表
  • SQL循序渐进(5)插入数据到表
  • SQL循序渐进(4)创建表
  • SQL循序渐进(3)数据检索
  • SQL循序渐进(2)表的基础知识
  • SQL循序渐进(1)介绍SQL
  • SQL Server和DB2大比拼
  • 两个SQL Server维护技巧
  • SQL Server 2000用户实用程序
  • 【随机文章】
  • 记大学刚那对住在我隔壁储藏室的毕业的小夫妻
  • 一个定时关机的源代码
  • 微软新一代的操作系统Vista介绍
  • 关于Logminer
  • 网上直播:我的电影给你看
  • QQ聊天场景的简单制作技巧(1)
  • Excel工作表中移动行或列
  • C++ std::fstream open mode
  • linux下用滚轮鼠标
  • 解决web开发中的中文问题。
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.