首页 > 编程 > C++ > 正文

c++ ABCBank项目(二)

2019-11-08 01:50:44
字体:
来源:转载
供稿:网友

                     服务器和客户端搭建好后,创建一个属于银行职工的类,类里面有职工的姓名,账号和密码,首先是注册,打开自己电脑上的MySQL数据库,在里面创建一个表格用来存放职工和客户的信息,然后在客户端的的注册里面输入自己的信息,通过send将信息传送到服务器中去,因为客户端会有各种不同的指令传送过来,所以需要你在类里面设置一些标志符来区分各个指令,服务器根据不同的指令来调用相关的函数,在收到注册的信息内容后,服务器便会打开本地的mysql,将收到的信息存放到银行职工的表格里去,下面是服务器操作的数据库代码:

打开本地的数据库:

// 初始化一个连接句柄MYSQL	MYSQL* mysql;	mysql = mysql_init(NULL);	if (mysql == NULL)	{		PRintf("error: %s/n", mysql_error(mysql));		return 1;	}	my_bool reconnect = true;	mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect);	mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "gbk");	if (!mysql_real_connect(mysql, NULL, "root", "132097", "gushuaige",	0, NULL, 0))	{		printf("error: %s/n", mysql_error(mysql));		return 1;	}

注册:

int result;			// 没有返回结果集的操作			char buff[200];			sprintf(buff,"insert into zhigong values('%s',%d,'%s')",(object->shname()).c_str(),object->shaccount(),(object->shpassWord()).c_str());			result = mysql_query(mysql,buff);			if (result != 0)			{				printf("error: %s/n", mysql_error(mysql));				return fail;			}			else			{				printf("%llu 行受影响  添加信息成功!/n", mysql_affected_rows(mysql));				return success ;			}注册好后便是登陆,客户端输入自己的账号和密码传送给服务器,服务器拿接收到的账号去找到数据库中的该栏,将里面的密码与接收到的密码进行比较,相同则返回success给客户端,从而进入操作的界面,不同则给个友好提示返回主界面,重新操作或输入,下面是登录的操作代码:

int result ;			char buff[200];			sprintf(buff,"select * from zhigong where id=%d;",object->shaccount());			result = mysql_query(mysql, buff);			if (result != 0)			{				printf("error: %s/n", mysql_error(mysql));				return 1;			}			MYSQL_RES* mysql_res;			MYSQL_FIELD* mysql_field;			MYSQL_ROW mysql_row;			unsigned int cols;			mysql_res = mysql_store_result(mysql);			cols = mysql_num_fields(mysql_res);			if (mysql_res)			{				while ((mysql_row = mysql_fetch_row(mysql_res)))				{					for (unsigned int i=0; i<cols; ++i)					{						printf("%s/t", mysql_row[i] ? mysql_row[i] : "NULL");					}					printf("/n");					if(mysql_row[2] == object->shpassword())					{						object->setmuser(mysql_row[0],atoi(mysql_row[1]),mysql_row[2]) ;						return  success ;					}					else					{						return  fail ;					}				}				mysql_free_result(mysql_res);			}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选