📄 database.cpp
字号:
// Database.cpp: implementation of the CDatabase class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Database.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDatabase::CDatabase()
{
mysql_init(&mysql);
}
CDatabase::~CDatabase()
{
//if(query)
// mysql_free_result(query);
mysql_close(&mysql);
}
//{
//
// //if(query != NULL)
// mysql_free_result(query);
// mysql_close(&mysql);
//}
BOOL CDatabase::SelectAll(Data_Param *para)
{
// mysql_free_result(query);
unsigned int i=0;
char str[256];
sprintf(str,"select * from %s",para->tab_name);
if(!FindSave(str))
{
return false;
}
return true;
}
BOOL CDatabase::DelRecord(Data_Param *para)
{
char str[256];
sprintf(str,"delete from %s where %s",para->tab_name,para->where_def);
if(mysql_query(&mysql,str))
{
return false;
}
return true;
}
BOOL CDatabase::InsertRecord(Data_Param *para)
{
char str[256];
sprintf(str,"insert into %s values(%s)",para->tab_name,para->insert_val);
if(mysql_query(&mysql,str))
{
return false;
}
return true;
}
BOOL CDatabase::SelectRecord(Data_Param *para)
{
// mysql_free_result(query);
unsigned int i=0;
char str[256];
sprintf(str,"select %s from %s where %s",para->select_exp,para->tab_name,para->where_def);
if(!FindSave(str))
{
return false;
}
return true;
}
BOOL CDatabase::SelectDB(Data_Param *para)
{
if (mysql_select_db(&mysql,para->db_name))
return false;
else
return true;
}
char * CDatabase::OutErrors()
{
return (char *)(mysql_error(&mysql));
}
BOOL CDatabase::FindSave(char *str)
{
if(mysql_query(&mysql,str))
return false;
query=mysql_store_result(&mysql);
return true;
}
BOOL CDatabase::UpdateRecord(Data_Param *para)
{
char str[256];
sprintf(str,"update %s set %s where %s",para->tab_name,para->set_exp,para->where_def);
if(mysql_query(&mysql,str))
{
return false;
}
return true;
}
my_ulonglong CDatabase::GetRowNum()
{
return (mysql_num_rows(query));
}
MYSQL_ROW CDatabase::GetRecord()
{
return (row = mysql_fetch_row(query));
}
BOOL CDatabase::ConnectDB(Database_Param *p)
{
if (!mysql_real_connect(&mysql,p->host,p->user,p->password,p->db,p->port,p->unix_socket,p->client_flag))
{
OutErrors();
return false;
}
return true;
}
unsigned int CDatabase::GetFieldNum()
{
return (mysql_num_fields(query));
}
void CDatabase::FreeRecord()
{
mysql_free_result(query);
}
int CDatabase::CreateDB(char *db)
{
CString str = db;
//return (mysql_create_db(&mysql,db));
return mysql_query(&mysql,str);//CREATE DATABASE
}
void CDatabase::SeekData(int offset)
{
mysql_data_seek(query,offset);
}
int CDatabase::DropDB(char *db)
{
CString str = db;
//return (mysql_drop_db(&mysql,db));
return mysql_query(&mysql,str);//DROP DATABASE
}
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 (char *)(mysql_get_client_info());
}
char* CDatabase::GetHostInfo()
{
//strcpy(psw,strupr((char *)md5.getMD5Digest()));
//return mysql_get_host_info(&mysql);
return (char *)(mysql_get_host_info(&mysql));
}
int CDatabase::GetProtocolInfo()
{
return mysql_get_proto_info(&mysql);
}
char* CDatabase::GetServerInfo()
{
return (char *)(mysql_get_server_info(&mysql));
}
char* CDatabase::GetState()
{
char* state=(char *)(mysql_stat(&mysql));
if(!state)
return OutErrors();
return state;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -