📄 optdb.pc
字号:
/*外部说明部分*/
#include "operate.h"
/*说明段,说明SQL变量*/
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR tns[20];
VARCHAR password[20];
EXEC SQL END DECLARE SECTION;
/*SQL通讯区说明*/
EXEC SQL INCLUDE sqlca;
/*C函数说明,错误处理*/
//main()
//{
// insert(222222222,"xiaowu","男",24,"山东,济南",9000);
// int res = query(222222222);
//if(res==-1) printf("没有该用户");
// else printf("余额为:%d\n",res);
//update(222222222,1000);
// res = query(222222222);
// if(res==-1) printf("没有该用户");
// else printf("余额为:%d\n",res);
// delete(222222222);
//}
/*程序体*/
void insert(info* newuser){
/*内部说明段,说明局部SQL变量*/
EXEC SQL BEGIN DECLARE SECTION;
int id;
VARCHAR name[30];
VARCHAR sex[10];
int age;
VARCHAR address[100];
int sal;
EXEC SQL END DECLARE SECTION;
/*建立与数据库的连接*/
getconn();
id=newuser->id;
strcpy(name.arr,newuser->name);
name.len=(unsigned short)strlen((char *)name.arr);
strcpy(sex.arr,newuser->sex);
sex.len=(unsigned short)strlen((char *)sex.arr);
age=newuser->age;
strcpy(address.arr,newuser->address);
address.len=(unsigned short)strlen((char *)address.arr);
sal=newuser->sal;
EXEC SQL INSERT INTO info VALUES(:id,:name,:sex,:age,:address,:sal);
EXEC SQL COMMIT WORK;
EXEC SQL COMMIT WORK RELEASE;
}
int query(int idd)
{
/*内部说明段,说明局部SQL变量*/
EXEC SQL BEGIN DECLARE SECTION;
int id;
int sal;
EXEC SQL END DECLARE SECTION;
/*建立与数据库的连接*/
getconn();
id=idd;
/*查询语句*/
EXEC SQL WHENEVER NOT FOUND GOTO notfound;
EXEC SQL SELECT sal INTO :sal FROM info WHERE id=:id;
/*输出查询结果*/
return sal;
notfound:
return -1;
EXEC SQL COMMIT WORK RELEASE;
}
void update(int idd, int sall)
{
/*内部说明段,说明局部SQL变量*/
EXEC SQL BEGIN DECLARE SECTION;
int id;
int sal;
EXEC SQL END DECLARE SECTION;
/*建立与数据库的连接*/
getconn();
id=idd;
sal=sall;
EXEC SQL WHENEVER NOT FOUND GOTO notfound;
EXEC SQL UPDATE info SET sal=:sal WHERE id=:id;
notfound:
;
EXEC SQL COMMIT WORK;
EXEC SQL COMMIT WORK RELEASE;
}
void delete(int idd)
{
/*内部说明段,说明局部SQL变量*/
EXEC SQL BEGIN DECLARE SECTION;
int id;
EXEC SQL END DECLARE SECTION;
/*建立与数据库的连接*/
getconn();
id=idd;
EXEC SQL WHENEVER NOT FOUND GOTO notfound;
EXEC SQL DELETE FROM info WHERE id=:id;
notfound:
;
EXEC SQL COMMIT WORK;
EXEC SQL COMMIT WORK RELEASE;
}
/*建立连接*/
void getconn()
{
/*登录到oracle*/
strcpy(username.arr,"scott");//用户名
username.len=strlen(username.arr);
strcpy(password.arr,"tiger"); //密码
password.len=strlen(password.arr);
strcpy(tns.arr,"stu");//监听名
tns.len=(unsigned short)strlen((char *)tns.arr);
/*错误处理语句*/
EXEC SQL WHENEVER SQLERROR DO sqlerror();
/*连接到oracle*/
EXEC SQL CONNECT :username IDENTIFIED BY :password USING :tns;
printf("connect to oracle as user:%s\n",username.arr);
}
/*错误处理*/
void sqlerror(){
printf("\n%.70s \n",sqlca.sqlerrm.sqlerrmc);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -