passages.cpp

来自「文件管理数据库」· C++ 代码 · 共 234 行

CPP
234
字号
// Passages.cpp: implementation of the CPassages class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "VirtualTeacher.h"
#include "Passages.h"
#include "ADOConn.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

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

CPassages::CPassages()
{

}

CPassages::~CPassages()
{
	Pas_ID=0;
	Pas_Name="";
	Course_ID=0;
	Words="";
	Memo="";
	FT=0;


}

//读取和设置成员变量
int CPassages::GetPas_ID()
{
	return Pas_ID;
}

void CPassages::SetPas_ID(int iPas_ID)
{
	Pas_ID = iPas_ID;
}

CString CPassages::GetPas_Name()
{
	return Pas_Name;
}

void CPassages::SetPas_Name(CString cPas_Name)
{
	Pas_Name = cPas_Name;
}

int CPassages::GetCourse_ID()
{
	return Course_ID;
}

void CPassages::SetCourse_ID(int iCourse_ID)
{
	Course_ID = iCourse_ID;
}

CString CPassages::GetWords()
{
	return Words;
}

void CPassages::SetWords(CString cWords)
{
	Words=cWords;
}

int CPassages::GetFT()
{
	return FT;
}

void CPassages::SetFT(int iFT)
{
	FT = iFT;
}

CString CPassages::GetMemo()
{
	return Memo;
}

void CPassages::SetMemo(CString cMemo)
{
	Memo = cMemo;
}

//数据库操作
int CPassages::HaveName(CString cPas_Name)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Passages WHERE Pas_Name='" + cPas_Name + "'";
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	if (m_pRecordset->adoEOF)
		return -1;
	else
		return 1;
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

CString CPassages::GetName(CString cPas_id)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT Pas_Name FROM Passages WHERE Pas_ID=" + cPas_id;
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	if (m_pRecordset->adoEOF)
		return "";
	else
		return (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pas_Name");

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

long CPassages::sql_insert()
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置INSERT语句
	CString strCourse_ID;
	strCourse_ID.Format("%d", Course_ID);
	CString strFT;
	strFT.Format("%d", FT);
	
    _bstr_t vSQL;
	vSQL = "INSERT INTO Passages (Pas_Name, Course_ID, Words, Memo, FT) VALUES('"+Pas_Name+"',"+strCourse_ID+",'"+Words+"','"+Memo+"',"+strFT+")";
	//执行INSERT语句
	m_AdoConn.ExecuteSQL(vSQL);	

	//读取最大编号
	long lPasId;
	vSQL = "SELECT MAX(Pas_ID) AS MaxId FROM Passages";	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	//返回各列的值
	if (m_pRecordset->adoEOF)
		lPasId = 0;
	else
		lPasId = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MaxId"));

	//断开与数据库的连接
	m_AdoConn.ExitConnect();

	return lPasId;
}

void CPassages::sql_update(CString cPas_ID)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置UPDATE语句
    CString strCourse_ID;
	strCourse_ID.Format("%d", Course_ID);
	CString strFT;
	strFT.Format("%d", FT);
	
	_bstr_t vSQL;
	vSQL = "UPDATE Passages SET Pas_Name='" + Pas_Name + "', Words='"+ Words +"', Memo='"+Memo+"', FT="+strFT+" WHERE Pas_ID="+cPas_ID+"";
	//执行UPDATE语句
	m_AdoConn.ExecuteSQL(vSQL);	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

void CPassages::sql_delete(CString cPas_ID)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置DELETE语句
	_bstr_t vSQL;
	vSQL = "DELETE FROM Passages WHERE Pas_ID=" + cPas_ID;
	//执行DELETE语句
	m_AdoConn.ExecuteSQL(vSQL);	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

//根据文件编号读取所有字段值
void CPassages::GetData(CString cPas_ID)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Passages WHERE Pas_ID=" + cPas_ID;
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	//返回各列的值
	if (m_pRecordset->adoEOF)
		CPassages();
	else
	{
		Pas_ID = atoi(cPas_ID);
		Pas_Name = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pas_Name");
		Course_ID = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Course_ID"));
		Words = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Words");
		Memo = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Memo");
		FT = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("FT"));
	}
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

⌨️ 快捷键说明

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