Winsocket编程,事件选择模型+mysql简易聊天室,含登录同步离线消息

一、有关数据库操作,封装在DBHelper.h内,代码如下#include #include "mysql.h"#includebool getPassword(char * username, char * &pwd){ MYSQL mysql, *sock; mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysq
摘要由CSDN通过智能技术生成

一、有关数据库操作,封装在DBHelper.h内,代码如下

#include <winsock.h>  
#include "mysql.h"
#include<stdio.h>
bool getPassword(char * username, char * &pwd){

	MYSQL mysql, *sock;
	mysql_init(&mysql);
	if (!(sock = mysql_real_connect(&mysql, "localhost", "root", "admin", "windowsPrograming", 0, NULL, 0)))
	{
		printf("Cannot connect to database:%s\n", mysql_error(sock));
		return false;
	}

	char sqlbuf[200];
	sprintf(sqlbuf, "select pass_word from userInfo where user_name=%s", username);
	//printf("%s\n", sqlbuf);

	if (mysql_query(sock, sqlbuf))
	{
		printf("Query Failed:%s", mysql_error(sock));
		return 0;
	}

	MYSQL_RES *res;
	MYSQL_ROW row;
	if (!(res = mysql_store_result(sock)))
	{
		printf("Failed to store result:%s", mysql_error(sock));
		return 0;
	}
	while (row = mysql_fetch_row(res))
	{
		pwd = (char *)malloc(sizeof(char *));
		strcpy(pwd, (char*)row[0]);
		//puts(row[0]);
	}
	mysql_free_result(res);
	mysql_close(sock);
	return true;
}

bool isExist(char * username){

	MYSQL mysql, *sock;
	mysql_init(&mysql);
	if (!(sock = mysql_real_connect(&mysql, "localhost", "root", "admin", "windowsPrograming", 0, NULL, 0)))
	{
		printf("Cannot connect to database:%s\n", mysql_error(sock));
		return false;
	}

	char sqlbuf[200];
	sprintf(sqlbuf, "select user_name from userInfo where user_name=%s", username);


	if (mysql_query(sock, sqlbuf))
	{
		printf("Query Failed:%s", mysql_error(sock));
		return 0;
	}

	MYSQL_RES *res;
	MYSQL_ROW row;
	if (!(res = mysql_store_result(sock)))
	{
		printf("Failed to store result:%s", mysql_error(sock));
		return 0;
	}

	if (row = mysql_fetch_row(res)){
		mysql_free_result(res);
		mysql_close(sock);
		return true;
	}
	else
	{
		mysql_free_result(res);
		mysql_close(sock);
		return false;
	}
}

bool regist(char * username, char * password){
	MYSQL mysql, *sock;
	mysql_init(&mysql);
	if (!(sock = mysql_real_connect(&mysql, "localhost", "root", "admin", "windowsPrograming", 0, NULL, 0)))
	{
		printf("Cannot connect to database:%s\n", mysql_error(sock));
		return false;
	}

	char sqlbuf[200];
	sprintf(sqlbuf, "insert into  userInfo(user_name,pass_word) values('%s','%s')", username, password);


	if (mysql_query(sock, sqlbuf))
	{
		printf("Query Failed:%s", mysql_error(sock));
		return 0;
	}
	return true;
}

bool getDelayMessage(char * username, char(*message)[100], int &len){

	MYSQL mysql, *sock;
	mysql_init(&mysql);
	if (!(sock = mysql_real_connect(&mysql, "localhost", "root", "admin", "windowsPrograming", 0, NULL, 0)))
	{
		printf("Cannot connect to database:%s\n", mysql_error(sock));
		return false;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值