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

📄 courses.cpp

📁 文件管理数据库
💻 CPP
字号:
// Courses.cpp: implementation of the CCourses class.
//
//////////////////////////////////////////////////////////////////////

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

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

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

CCourses::CCourses()
{
	Course_ID=0;
	Course_Name="";
	Course_Type=0;
}

CCourses::~CCourses()
{

}

//读取和设置成员变量
int CCourses::GetCourse_ID()
{
	return Course_ID;
}

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

CString CCourses::GetCourse_Name()
{
	return Course_Name;
}

void CCourses::SetCourse_Name(CString cCourse_Name)
{
	Course_Name = cCourse_Name;
}

int CCourses::GetCourse_Type()
{
	return Course_Type;
}

void CCourses::SetCourse_Type(int iCourse_Type)
{
	Course_Type = iCourse_Type;
}

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

int CCourses::HaveSon(CString cCourse_ID)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Courses WHERE Course_Type=" + cCourse_ID;
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	if (m_pRecordset->adoEOF)
		return -1;
	else
		return 1;
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

int CCourses::HaveFile(CString cCourse_ID)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Passages WHERE Course_ID=" + cCourse_ID;
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	if (m_pRecordset->adoEOF)
	{
		vSQL="SELECT * FROM Paints WHERE Course_ID=" + cCourse_ID;
		m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
		if (m_pRecordset->adoEOF)
			return -1;
	}
	else
		return 1;

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

void CCourses::Load_course()
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Courses ORDER BY Course_Type";
	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	//初始化数组
	a_CourseName.RemoveAll();
	a_CourseID.RemoveAll();
	a_TypeID.RemoveAll();
	//执行SELECT语句
	while (m_pRecordset->adoEOF == 0)
	{
		a_CourseID.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Course_ID"));
		a_CourseName.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Course_Name"));
		a_TypeID.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Course_Type"));
		
		m_pRecordset->MoveNext();
	}
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

long CCourses::sql_insert()
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置INSERT语句
	CString strCourse_Type;
	strCourse_Type.Format("%d", Course_Type);

	_bstr_t vSQL;
	vSQL = "INSERT INTO Courses (Course_Name, Course_Type) VALUES('" 
		+ Course_Name + "'," + strCourse_Type + ")";	
	//执行INSERT语句
	m_AdoConn.ExecuteSQL(vSQL);	

	//读取最大编号
	long lCourse_Id;
	vSQL = "SELECT MAX(Course_id) AS MaxId FROM Courses";	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	//返回各列的值
	if (m_pRecordset->adoEOF)
		lCourse_Id = 0;
	else
		lCourse_Id = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MaxId"));
	//断开与数据库的连接
	m_AdoConn.ExitConnect();

	return lCourse_Id;
}

void CCourses::sql_update(CString cCourseID)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置UPDATE语句

	_bstr_t vSQL;
	vSQL = "UPDATE Courses SET Course_Name='" + Course_Name 
		+ "' WHERE Course_ID=" + cCourseID;
	//执行UPDATE语句
	m_AdoConn.ExecuteSQL(vSQL);	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

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

//根据课程编号读取所有字段值
void CCourses::GetData(CString cCourseID)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Courses WHERE Course_ID=" + cCourseID;
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	//返回各列的值
	if (m_pRecordset->adoEOF)
		CCourses();
	else
	{
		Course_ID = atoi(cCourseID);
		Course_Name = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Course_Name");
		Course_Type = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Course_Type"));
	}
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

⌨️ 快捷键说明

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