database.cpp

来自「随着计算机信息技术的飞速发展」· C++ 代码 · 共 131 行

CPP
131
字号
// Database.cpp: implementation of the CDatabase class.
//
//////////////////////////////////////////////////////////////////////
#include"stdafx.h"
#include "Database.h"



//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDatabase::CDatabase()
{
	mysql_init(&mysql);

}
CDatabase::~CDatabase()
{
	mysql_close(&mysql);
	mysql_free_result(query);
}

char * CDatabase::OutErrors()
{

	return(mysql_error(&mysql));
}
my_ulonglong CDatabase::GetRowNum()
{
   return (mysql_num_rows(query));
}

MYSQL_ROW CDatabase::GetRecord()
{
	return (row = mysql_fetch_row(query));
}

unsigned int CDatabase::GetFieldNum()
{
	return (mysql_num_fields(query));
}

void CDatabase::FreeRecord()
{
	mysql_free_result(query);
}

int CDatabase::CreateDB(char *db)
{
	return (mysql_create_db(&mysql,db));
}

void CDatabase::SeekData(int offset)
{
	mysql_data_seek(query,offset);
}

int CDatabase::DropDB(char *db)
{
	return (mysql_drop_db(&mysql,db));
}

BOOL CDatabase::IsEnd()
{
	return mysql_eof(query);
}

char* CDatabase::GetFieldName(int FieldNum)
{
	field=mysql_fetch_field_direct(query,FieldNum);
	return field->name;
}

char * CDatabase::GetClientInfo()
{
	return mysql_get_client_info();
}

char* CDatabase::GetHostInfo()
{
	return mysql_get_host_info(&mysql);
}

int CDatabase::GetProtocolInfo()
{
	return mysql_get_proto_info(&mysql);
}

char* CDatabase::GetServerInfo()
{
	return mysql_get_server_info(&mysql);
}

char* CDatabase::GetState()
{
	char* state=mysql_stat(&mysql);
	if(!state)
		return OutErrors();
	return state;
}


BOOL CDatabase::Open(char *host, char *db, char *userid, char *password, unsigned int port)
{

	 if (!mysql_real_connect(&mysql,host,userid,password,db,port,NULL,0))
	{
          OutErrors();
		  return false;
	}
	return true;
}

void CDatabase::Close()
{
    mysql_close(&mysql);
}

BOOL CDatabase::Execute(CString sqlstring)
{
 
	if(mysql_query(&mysql,sqlstring))
	{
		return false;
	}
	if(sqlstring.Mid(0,6) == "select")
		query=mysql_store_result(&mysql);
	return true;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?