一、有关数据库操作,封装在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;
}