⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.cpp

📁 用VC写的一个数据库
💻 CPP
字号:
#include "DataBase.h"

CDataBase::CDataBase(void):m_sName("无名")
{
}
CDataBase::CDataBase(GUtString name):m_sName(name)
{
}

CDataBase::~CDataBase(void)
{
}

bool CDataBase::SetFormat(CRecordFormat &format)
{
	if(format.IsEmpty())
	{
		std::cout<<"设置数据库的格式失败!(格式为空)"<<std::endl;
		return false;
	}
	else
	{
		m_Format=format;
		return true;
	}

}

CRecordFormat CDataBase::GetFormat()
{
	return m_Format;
}

bool CDataBase::SetRecord(int index)
{
	if (index<0||index>=Size())
	{
		std::cout<<"修改记录失败!(输入数字有误)"<<std::endl;
		return false;
	}
	else
	{
		std::cout<<"对第"<<index<<"条记录进行修改"<<std::endl;
		for (int i=0;i<m_Format.Size();i++)
		{
			std::cout<<m_Format[i]<<":\t"<<(*this)[index][i]<<std::endl;
		}	
		char *temp1=new char[255];
		char *temp2=new char[255];
input:
		std::cout<<"请选择:";
		std::cin>>temp1;
		std::cout<<"请输入:";
		std::cin>>temp2;
		if (!(*this)[index].SetCellRecord((GUtString)temp1,(GUtString)temp2))
			goto input;
		else
		{
			std::cout<<"修改记录成功!"<<std::endl;
			return true;
		}

	}
}

bool CDataBase::AddRecord(CDataRecord &record)
{
	PushBack(record);
	std::cout<<"添加记录成功!"<<std::endl;
	return true;
}

bool CDataBase::DeleteRecord(int index)
{
	if (index<0||index>=Size())
	{
		std::cout<<"删除记录失败!(不存在指定记录)"<<std::endl;
		return false;
	}
	else 
	{
		CDataRecord temp=(*this)[index];
		Erase(temp);
		std::cout<<"删除记录成功!"<<std::endl;
		return true;
	}
}

GUtString CDataBase::GetName()
{
	return m_sName;
}

bool CDataBase::operator==(CDataBase &dataBase)const
{
	if(m_Format==dataBase.m_Format&&m_sName==dataBase.m_sName)
		return true;
	else
		return false;
}

void CDataBase::AddFormatCell(GUtString &cell)
{
	m_Format.AddCell(cell);
}

void CDataBase::AddRecordCell(GUtString &cell)
{
	(*this)[Size()-1].PushBack(cell);
}

⌨️ 快捷键说明

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