📄 courses.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 + -