数据库编程(8)

  • 嵌入式SQL
    嵌入式SQL中,会加入前缀来区分SQL语句和主语言语句
    C语言:EXC SQL<SQL语句>;
    Java :#SQL {<SQL语句>};
    数据库工作单元与源程序工作单元之间的通信
步骤 主语言 SQL语句 关键
步骤一 向主语言传递SQL语句的执行状态信息 SQL通信区实现
步骤二 主语言向SQL语句提供参数 主变量实现
步骤三 将查结果交给主语言处理 主变量游标实现
#include <stdio.h>
#include <stdlib.h>

EXEC SQL BEGIN DECLARE SECTION; //主变量说明的开始
char deptname[64];
char HSno[64];
char HSname[64];
char HSsex[64];
int HSage;
intNEWAGE;
long SQLCODE;
EXEC SQL END DECLARE SECTION; //主变量说明的结束

EXEC SQL INCLUDE sqlca; //定义SQL通信区

/*************************************************************************/

int main(void) //C语言主程序开始
{
   
	int count = 0;
	char yn; //变量yn代表yes或no
	printf("Please choose the department name(CS/MA/IS): ");
	scanf("%s", &deptname); //为主变量deptname赋值
	EXEC SQL CONNECT TO TEXT@localhost:54321 USER "SYSTEM"/"MANAGER"; //连接数据库TEST
	//EXEC SQL CONNECT TO target[AS connection-name][USER user-name];
	//target是要连接的数据库服务器名,可以是<dbname>@<hostname>:<port>
	//也可以是包含服务器标识的SQL串常量,也可以是DEFAULT
	//可选的连接名,在有多个连接时用于识别
	//可以用EXEC SQL SET CONNECTION connection-name|DEFAULT;
	
	EXEC SQL DECLARE SX CURSOR FOR //定义游标SX,用于存储数据内容
		SELECT Sno, Sname, Ssex, Sage //SX对应语句的执行结果
		FROM Student
		WHERE SDept = :deptname;//主变量名和指示变量名在SQL中要加:
	//EXEC SQL DECLARE<游标名>CURSOR FOR<SELECT语句>;
	//此时SELECT语句并不执行
	EXEC SQL OPEN SX; //打开游标SX便指向查询结果的第一行
	//打开游标实际上是执行相应的SELECT语句,将结果放在缓存区


	for (; ; ) //用循环结构逐条处理结果集中的记录
	{
   
		EXEC SQL FETCH SX 
			INTO : HSno, : HSname, 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值