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

📄 courmoddlg.cpp

📁 用ODBC接口访问access数据库管理系统
💻 CPP
字号:
// CourModDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Team2.h"
#include "CourModDlg.h"
#include "InsModDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCourModDlg dialog


CCourModDlg::CCourModDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCourModDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCourModDlg)
	m_name = _T("");
	m_subteam = _T("");
	m_hour = _T("");
	m_time = _T("");
	m_room = _T("");
	m_insname = _T("");
	m_id = _T("");
	//}}AFX_DATA_INIT
}


void CCourModDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCourModDlg)
	DDX_Control(pDX, IDC_COURMOD_ADM, m_courmod);
	DDX_Control(pDX, IDC_COURDEL_ADM, m_courdel);
	DDX_Control(pDX, IDC_COURADD_ADM, m_couradd);
	DDX_Control(pDX, IDC_COURLIST, m_courlist);
	DDX_Text(pDX, IDC_EDIT2, m_name);
	DDX_Text(pDX, IDC_EDIT3, m_subteam);
	DDX_Text(pDX, IDC_EDIT4, m_hour);
	DDX_Text(pDX, IDC_EDIT5, m_time);
	DDX_Text(pDX, IDC_EDIT6, m_room);
	DDX_Text(pDX, IDC_EDIT7, m_insname);
	DDX_Text(pDX, IDC_EDIT1, m_id);
	//}}AFX_DATA_MAP
	if(!type){
		m_couradd.EnableWindow(false);
		m_courmod.EnableWindow(false);
		m_courdel.EnableWindow(false);
	}
}


BEGIN_MESSAGE_MAP(CCourModDlg, CDialog)
	//{{AFX_MSG_MAP(CCourModDlg)
	ON_BN_CLICKED(IDC_COURADD_ADM, OnCouraddBtn)
	ON_BN_CLICKED(IDC_COURDEL_ADM, OnCourdelBtn)
	ON_BN_CLICKED(IDC_COURMOD_ADM, OnCourmodBtn)
	ON_BN_CLICKED(IDC_COURQUERY_ADM, OnCourqueryBtn)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCourModDlg message handlers

BOOL CCourModDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	DWORD style=m_courlist.GetExtendedStyle();
	m_courlist.SetExtendedStyle(style|LVS_EX_GRIDLINES);
	
	m_courlist.InsertColumn(0,"课程号");
	m_courlist.InsertColumn(1,"课程名");
	m_courlist.InsertColumn(2,"上课区队");
	m_courlist.InsertColumn(3,"课时");
	m_courlist.InsertColumn(4,"上课时间");
	m_courlist.InsertColumn(5,"教室");
	m_courlist.InsertColumn(6,"任课教员");
	RECT rectbasic;
	m_courlist.GetWindowRect(&rectbasic);
	int widbasic = rectbasic.right - rectbasic.left;
	m_courlist.SetColumnWidth(0,widbasic/7);
	m_courlist.SetColumnWidth(1,widbasic/7);
	m_courlist.SetColumnWidth(2,widbasic/7);	
	m_courlist.SetColumnWidth(3,widbasic/7);
	m_courlist.SetColumnWidth(4,widbasic/7);
	m_courlist.SetColumnWidth(5,widbasic/7);
	m_courlist.SetColumnWidth(6,widbasic/7);
	m_courlist.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	Init();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CCourModDlg::OnCouraddBtn() 
{
	// TODO: Add your control notification handler code here
	if(!db.Open("db1"))return;//连接数据库
	
	CString strSQL;
	
	UpdateData();
	if(m_id.IsEmpty()) // 课程号为空则返回
	{
		AfxMessageBox("课程号不能为空!");
		db.Close();
		return;
	}
	
	CRecordset rs(&db);
	rs.Open(CRecordset::forwardOnly,"select * from cour_info where id='" + m_id + "'");
	if(!rs.IsEOF()) //已存在此记录
	{
		AfxMessageBox("该课程号已存在!");
		db.Close();
		return;
	}
	strSQL="insert into cour_info(id,name,subteam,hour,time,room) values('"		
		+ m_id + "','" // 课程号
		+ m_name + "','" // 课程名
		+ m_subteam + "','" // 上课区队
		+ m_hour + "','" // 课时
		+ m_time + "','" //上课时间
		+ m_room +"')"; //教室
	db.ExecuteSQL(strSQL);
	rs.Close();
	rs.Open(CRecordset::forwardOnly,"select * from ins_info where id='" + m_insname +"'");
	if(!rs.IsEOF()) //该教员号存在
	{
		strSQL="update cour_info set insid='" + m_insname + "'where id='" + m_id + "'";	
		db.ExecuteSQL(strSQL);
	}
	else{
		AfxMessageBox("该教员号不存在,请查证后再输入。");
		CInsModDlg m_insquery;
		m_insquery.DoModal();
	}
	Init(); //重新初始化窗口
	AfxMessageBox("记录添加成功!");
	db.Close();	
}

void CCourModDlg::OnCourdelBtn() 
{
	// TODO: Add your control notification handler code here
	int i=m_courlist.GetSelectionMark();
	CString strSQL;
	if(i==-1)
	{
		MessageBox("请先从列表中选择记录!");		
	}
	else
	{
		if(!db.Open("db1"))return;//连接数据库
		CString m_id=m_courlist.GetItemText(i,0);
		strSQL="delete from cour_info where id='" + m_id +"'";
		db.ExecuteSQL(strSQL);
		UpdateData();
		db.Close();	
	}	
}

void CCourModDlg::OnCourmodBtn() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(!db.Open("db1"))return;	
	CString strSQL;
	// 写SQL语句
	strSQL="update cour_info set\
		name='" + m_name  //NAME
		+ "',subteam='" + m_subteam // 区队
		+ "',hour='" + m_hour // 课时
		+ "',time='" + m_time //上课时间
		+ "',room='" + m_room //教室
		+ "',insid='" + m_insname //教员号
		+ "' where id='" + m_id + "'"; // 条件
	db.ExecuteSQL(strSQL); // 执行
	AfxMessageBox("记录修改成功!");
	db.Close();	
}

void CCourModDlg::OnCourqueryBtn() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(!db.Open("db1"))return;	
	int i=0;
	CRecordset rs(&db);
	CString s_id,s_name,s_subteam,s_hour,s_time,s_room,s_insid;
	CString strSQL;
	rs.Open(CRecordset::forwardOnly,"select * from cour_info where id='"+m_id+"'");
	if(!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("name",s_name);
		rs.GetFieldValue("subteam",s_subteam);
		rs.GetFieldValue("hour",s_hour);
		rs.GetFieldValue("time",s_time);		
		rs.GetFieldValue("room",s_room);
		rs.GetFieldValue("insid",s_insid);
		rs.Close();
		
		m_name=_T(s_name);
		m_subteam=_T(s_subteam);
		m_hour=_T(s_hour);
		m_time=_T(s_time);
		m_room=_T(s_room);
		m_insname=_T(s_insid);
		//加入列表
		m_courlist.InsertItem(i,"");
		m_courlist.SetItemText(i,0,s_id);
		m_courlist.SetItemText(i,1,s_name);
		m_courlist.SetItemText(i,2,s_subteam);
		m_courlist.SetItemText(i,3,s_hour);
		m_courlist.SetItemText(i,4,s_time);
		m_courlist.SetItemText(i,5,s_room);
		m_courlist.SetItemText(i,6,s_insid);
		
		UpdateData(FALSE);
		Exist=TRUE; //该课程存在
	}
	else 
	{
		rs.Close();
		Init();
		Exist=FALSE; //该课程不存在
	}
	if(!Exist) // 该课程号不存在
	{
		AfxMessageBox("该课程号不存在");
		db.Close();
		return;
	}
	db.Close();
}

void CCourModDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	m_courlist.DeleteAllItems(); // 清空列表框
	db.Close();		
	CDialog::OnCancel();
}

void CCourModDlg::Init()
{
	m_id=_T("");
	m_name=_T("");
	m_subteam=_T("");
	m_hour=_T("");
	m_room=_T("");
	m_time=_T("");
	m_insname=_T("");
	UpdateData(FALSE);
}

⌨️ 快捷键说明

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