📄 dialogcou.cpp
字号:
{
AfxMessageBox("表内数据已经为空!");
m_btnQuery.EnableWindow(FALSE);
m_btnDelete.EnableWindow(FALSE);
m_btnModify.EnableWindow(FALSE);
m_btnFirst.EnableWindow(FALSE);
m_btnPre.EnableWindow(FALSE);
m_btnNext.EnableWindow(FALSE);
m_btnLast.EnableWindow(FALSE);
m_btnOK.SetFocus();
return;
}
//显示最后一条记录
m_pRecordset->MoveLast();
var = m_pRecordset->GetCollect("CouID");
if(var.vt != VT_NULL)
m_CouID = var.iVal ;
var = m_pRecordset->GetCollect("CouName");
str = (LPCSTR)_bstr_t(var);
m_CouName = str;
var = m_pRecordset->GetCollect("CouKind");
str = (LPCSTR)_bstr_t(var);
m_CouKind = str;
var = m_pRecordset->GetCollect("CouScore");
m_CouScore = var.iVal;
var = m_pRecordset->GetCollect("CouTea");
m_CouTea = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
//////////////////////////
//
//执行修改功能
//
/////////////////////////
void CDialogCOU::Modify()
{
//定义变量
_variant_t var;
CString str;
//更新控件变量的值
UpdateData(true);
if(m_CouID == 0 || m_CouTea == 0)
{
AfxMessageBox("课程号和导师名都不能为空!");
return;
}
//判断修改后的导师号是否存在
if(m_CouTea !=0)
{
m_pRecordset->Close();
OpenTEACHERS();
if(m_pRecordset->BOF)
{
AfxMessageBox("导师表为空,需先建立导师表!");
m_pRecordset->Close();
OpenCOURSES();
return;
}
else
{
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("TeaID");
if(m_CouTea == var.iVal)
{
break;
}
m_pRecordset->MoveNext();
}
if(m_pRecordset->adoEOF)
{
AfxMessageBox("没有这个导师号!");
m_pRecordset->Close();
OpenCOURSES();
return;
}
else
{
m_pRecordset->Close();
OpenCOURSES();
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("CouID");
if(m_CouID == var.iVal)
{
break;
}
m_pRecordset->MoveNext();
}
}
}
}
//
// 修改当前记录的字段值
//
try
{
var.iVal = m_CouID;
m_pRecordset->PutCollect("CouID", var.iVal);
m_pRecordset->PutCollect("CouName", _variant_t(m_CouName));
m_pRecordset->PutCollect("CouKind", _variant_t(m_CouKind));
var.iVal = m_CouScore;
m_pRecordset->PutCollect("CouScore", var.iVal);
var.iVal = m_CouTea;
m_pRecordset->PutCollect("CouTea", var.iVal);
m_pRecordset->Update();
AfxMessageBox("修改成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogCOU::OnButtonOK()
{
// TODO: ADD your control notification handler code here
if(FOUNCTION == SEARCH)
{
Query();
}
else if(FOUNCTION == ADD)
{
Add();
}
else if(FOUNCTION == DEL)
{
Delete();
}
else if(FOUNCTION == MODIFY)
{
Modify();
}
}
void CDialogCOU::OnButtonGoBack()
{
// TODO: ADD your control notification handler code here
//关闭记录集,退出
m_pRecordset->Close();
OnCancel();
}
void CDialogCOU::OnButtonAdd()
{
// TODO: ADD your control notification handler code here
//
//给所有显示控件一个添加之前的初值
//
m_CouID = 0;
m_CouScore = 0;
m_CouName = "";
m_CouKind = "";
m_CouTea = 0;
UpdateData(false);
//更新FOUNCTION值
FOUNCTION = ADD;
//修改各个矩形按钮的属性
m_btnQuery.EnableWindow(FALSE);
m_btnAdd.SetState(TRUE);
m_btnDelete.EnableWindow(FALSE);
m_btnModify.EnableWindow(FALSE);
m_btnFirst.EnableWindow(FALSE);
m_btnPre.EnableWindow(FALSE);
m_btnNext.EnableWindow(FALSE);
m_btnLast.EnableWindow(FALSE);
m_btnOK.SetFocus();
}
void CDialogCOU::OnButtonDelete()
{
// TODO: ADD your control notification handler code here
if(MessageBox("真的删除?\n是请按“是”,\n否请按“否”!", NULL, MB_YESNO | MB_ICONQUESTION) == IDYES)
{
//更新FOUNCTION值
FOUNCTION = DEL;
OnButtonOK();
}
else
{
OnButtonCancel();
}
}
void CDialogCOU::OnButtonModify()
{
// TODO: ADD your control notification handler code here
//更新FOUNCTION值
FOUNCTION = MODIFY;
m_ctlCouID.SetReadOnly();
//修改各个矩形按钮的属性
m_btnQuery.EnableWindow(FALSE);
m_btnAdd.EnableWindow(FALSE);
m_btnDelete.EnableWindow(FALSE);
m_btnModify.SetState(TRUE);
m_btnFirst.EnableWindow(FALSE);
m_btnPre.EnableWindow(FALSE);
m_btnNext.EnableWindow(FALSE);
m_btnLast.EnableWindow(FALSE);
m_btnOK.SetFocus();
}
void CDialogCOU::OnButtonFirst()
{
// TODO: ADD your control notification handler code here
m_pRecordset->MoveFirst();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("CouID");
if(var.vt != VT_NULL)
m_CouID = var.iVal ;
var = m_pRecordset->GetCollect("CouName");
str = (LPCSTR)_bstr_t(var);
m_CouName = str;
var = m_pRecordset->GetCollect("CouKind");
str = (LPCSTR)_bstr_t(var);
m_CouKind = str;
var = m_pRecordset->GetCollect("CouScore");
m_CouScore = var.iVal;
var = m_pRecordset->GetCollect("CouTea");
m_CouTea = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogCOU::OnButtonPre()
{
// TODO: ADD your control notification handler code here
m_pRecordset->MovePrevious();
_variant_t var;
CString str;
if(m_pRecordset->BOF)
{
MessageBox("已经是首记录!");
m_pRecordset->MoveFirst();
}
try
{
var = m_pRecordset->GetCollect("CouID");
if(var.vt != VT_NULL)
m_CouID = var.iVal;
var = m_pRecordset->GetCollect("CouName");
str = (LPCSTR)_bstr_t(var);
m_CouName = str;
var = m_pRecordset->GetCollect("CouKind");
str = (LPCSTR)_bstr_t(var);
m_CouKind = str;
var = m_pRecordset->GetCollect("CouScore");
m_CouScore = var.iVal;
var = m_pRecordset->GetCollect("CouTea");
m_CouTea = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogCOU::OnButtonNext()
{
// TODO: ADD your control notification handler code here
m_pRecordset->MoveNext();
_variant_t var;
CString str;
if(m_pRecordset->adoEOF)
{
MessageBox("已经是末记录!");
m_pRecordset->MoveLast();
}
try
{
var = m_pRecordset->GetCollect("CouID");
if(var.vt != VT_NULL)
m_CouID = var.iVal;
var = m_pRecordset->GetCollect("CouName");
str = (LPCSTR)_bstr_t(var);
m_CouName = str;
var = m_pRecordset->GetCollect("CouKind");
str = (LPCSTR)_bstr_t(var);
m_CouKind = str;
var = m_pRecordset->GetCollect("CouScore");
m_CouScore = var.iVal;
var = m_pRecordset->GetCollect("CouTea");
m_CouTea = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogCOU::OnButtonLast()
{
// TODO: ADD your control notification handler code here
m_pRecordset->MoveLast();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("CouID");
if(var.vt != VT_NULL)
m_CouID = var.iVal;
var = m_pRecordset->GetCollect("CouName");
str = (LPCSTR)_bstr_t(var);
m_CouName = str;
var = m_pRecordset->GetCollect("CouKind");
str = (LPCSTR)_bstr_t(var);
m_CouKind = str;
var = m_pRecordset->GetCollect("CouScore");
m_CouScore = var.iVal;
var = m_pRecordset->GetCollect("CouTea");
m_CouTea = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogCOU::OnButtonCancel()
{
// TODO: ADD your control notification handler code here
_variant_t var;
CString str;
FOUNCTION=INIT;
//如果表为空,返回不做下面的操作
if(m_pRecordset->BOF)
{
m_btnAdd.SetState(false);
return;
}
//修改各个矩形按钮的属性
m_btnQuery.EnableWindow(true);
m_btnAdd.EnableWindow(true);
m_btnDelete.EnableWindow(true);
m_btnModify.EnableWindow(true);
m_btnFirst.EnableWindow(true);
m_btnPre.EnableWindow(true);
m_btnNext.EnableWindow(true);
m_btnLast.EnableWindow(true);
m_btnQuery.SetState(false);
m_btnAdd.SetState(false);
m_btnDelete.SetState(false);
m_btnModify.SetState(false);
m_btnFirst.SetState(false);
m_btnPre.SetState(false);
m_btnNext.SetState(false);
m_btnLast.SetState(false);
m_ctlCouID.SetReadOnly(FALSE);
m_btnOK.SetFocus();
//
//把m_pRecordset所指当前记录显示出来
//
if(m_pRecordset->adoEOF)
{
m_pRecordset->MoveLast();
}
try
{
var = m_pRecordset->GetCollect("CouID");
if(var.vt != VT_NULL)
m_CouID = var.iVal ;
var = m_pRecordset->GetCollect("CouName");
str = (LPCSTR)_bstr_t(var);
m_CouName = str;
var = m_pRecordset->GetCollect("CouKind");
str = (LPCSTR)_bstr_t(var);
m_CouKind = str;
var = m_pRecordset->GetCollect("CouScore");
m_CouScore = var.iVal;
var = m_pRecordset->GetCollect("CouTea");
m_CouTea = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -