⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optdb.pc

📁 银行系统银行 Visual C++ 6.0 源码
💻 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 + -