proc iname=stu.pc parse=none //预编译
gcc -o stu stu.c $ORACLE_HOME/lib/libclntsh.so //加入动态链接库
./stu //确保数据库已成功开启后执行
#include <stdio.h>
#include<string.h>
EXEC SQL INCLUDE SQLCA;
void main()
{
/*声明宿主变量*/
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR usr[20],pass[20];
char name[8];
int id,score;
EXEC SQL END DECLARE SECTION;
/*设置连接数据库的用户名、密码*/
strcpy(usr.arr,"test");
usr.len=(unsigned short)strlen((char *)usr.arr);
strcpy(pass.arr,"test");
pass.len=(unsigned short)strlen((char*)pass.arr);
/*以test用户连接数据库*/
EXEC SQL CONNECT :usr IDENTIFIED BY :pass;
printf("Connect!\n");
/*用户输入欲查询的ID号*/
printf("请输入学生代码:");
scanf("%d",&id);
/*执行动态的SQL查询语句*/
EXEC SQL SELECT id,name,score into :id,:name,:score from student where id=:id;
printf("Name=%s Score=%d\n",name,score);
/*提交事务并断开与数据库的连接*/
EXEC SQL COMMIT WORK RELEASE;
printf("Disconnect!\n");
}