📄 database.cpp
字号:
// Database.cpp: implementation of the CDatabase class.
//
//////////////////////////////////////////////////////////////////////
#include "Database.h"
#include <iostream.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDatabase::CDatabase()
{
mysql_init(&mysql);
}
CDatabase::~CDatabase()
{
mysql_close(&mysql);
mysql_free_result(query);
}
BOOL CDatabase::SelectAll(Data_Param *para)
{
// mysql_free_result(query);
unsigned int i=0;
char str[50];
sprintf(str,"select * from %s",para->tab_name);
if(!FindSave(str))
{
return false;
}
return true;
}
BOOL CDatabase::DelRecord(Data_Param *para)
{
char str[80];
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[500];
sprintf(str,"insert into %s values(%s)",para->tab_name,para->insert_val);
cout<<"执行语句..."<<endl;
cout<<str<<endl;
if(mysql_query(&mysql,str))
{
return false;
cout<<"语句没执行成功!"<<endl;
}
return true;
}
BOOL CDatabase::SelectRecord(Data_Param *para)
{
// mysql_free_result(query);
unsigned int i=0;
char str[80];
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[150];
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)
{
return 0;//mysql_create_db(&mysql,db);
}
void CDatabase::SeekData(int offset)
{
mysql_data_seek(query,offset);
}
int CDatabase::DropDB(char *db)
{
return 0;//(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 (char *)mysql_get_client_info();
}
char* CDatabase::GetHostInfo()
{
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;
}
unsigned long * CDatabase::FetchLengths()
{
return mysql_fetch_lengths(query);
}
int CDatabase::GetAffectedRows()
{
int rows;
rows=(int)mysql_affected_rows(&mysql);
return rows;
}
BOOL CDatabase::AddAccount()
{
if(mysql_query(&mysql,"INSERT INTO subscriber(username,password) values('8001','9186')"))
{
return false;
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -