- 嵌入式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;
int main(void)
{
int count = 0;
char yn;
printf("Please choose the department name(CS/MA/IS): ");
scanf("%s", &deptname);
EXEC SQL CONNECT TO TEXT@localhost:54321 USER "SYSTEM"/"MANAGER";
EXEC SQL DECLARE SX CURSOR FOR
SELECT Sno, Sname, Ssex, Sage
FROM Student
WHERE SDept = :deptname;
EXEC SQL OPEN SX;
for (; ; )
{
EXEC SQL FETCH SX
INTO : HSno, : HSname,