📄 pagecho.cpp
字号:
//
//执行删除功能
//
/////////////////////////
void CPageCho::Delete()
{
//定义变量
_variant_t var;
CString str;
//判断当前是否有记录
if(m_CID == 0)
{
MessageBox(" 没有记录!");
return;
}
try
{
//
// 删除当前行记录
//
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Update();
m_pRecordset->MoveFirst();
//判断删除后表内数据是否为空
if(m_pRecordset->BOF)
{
AfxMessageBox("表内数据已经为空!");
m_btnQuery.EnableWindow(FALSE);
m_btnDel.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("CID");
if(var.vt != VT_NULL)
m_CID = var.iVal ;
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("IsPass");
if(var.vt != VT_NULL)
m_IsPass = var.iVal;
var = m_pRecordset->GetCollect("Score");
m_Score = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
//////////////////////////
//
//执行修改功能
//
/////////////////////////
void CPageCho::Modify()
{
//定义变量
_variant_t var;
CString str;
//更新控件变量的值
UpdateData(true);
if(m_CID == 0 || m_SID == 0)
{
AfxMessageBox("学号和课程号一个也不能为空!");
return;
}
//
// 修改当前记录的字段值
//
try
{
var.iVal = m_CID;
m_pRecordset->PutCollect("CID", var.iVal);
var.iVal = m_SID;
m_pRecordset->PutCollect("SID", var.iVal);
var.iVal=m_IsPass;
m_pRecordset->PutCollect("IsPass", var.iVal);
var.iVal = m_Score;
m_pRecordset->PutCollect("Score", var.iVal);
m_pRecordset->Update();
AfxMessageBox("修改成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CPageCho::OnButtonFirst()
{
m_pRecordset->MoveFirst();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("CID");
if(var.vt != VT_NULL)
m_CID = var.iVal ;
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("IsPass");
if(var.vt != VT_NULL)
m_IsPass = var.iVal;
var = m_pRecordset->GetCollect("Score");
m_Score = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonPrevious()
{
m_pRecordset->MovePrevious();
_variant_t var;
CString str;
if(m_pRecordset->BOF)
{
MessageBox("已经是首记录!");
m_pRecordset->MoveFirst();
}
try
{
var = m_pRecordset->GetCollect("CID");
if(var.vt != VT_NULL)
m_CID = var.iVal;
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("IsPass");
if(var.vt != VT_NULL)
m_IsPass = var.iVal;
var = m_pRecordset->GetCollect("Score");
m_Score = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonNext()
{
m_pRecordset->MoveNext();
_variant_t var;
CString str;
if(m_pRecordset->adoEOF)
{
MessageBox("已经是末记录!");
m_pRecordset->MoveLast();
}
try
{
var = m_pRecordset->GetCollect("CID");
if(var.vt != VT_NULL)
m_CID = var.iVal;
var = m_pRecordset->GetCollect("SID");
m_SID = var.iVal;
var = m_pRecordset->GetCollect("IsPass");
if(var.vt != VT_NULL)
m_IsPass = var.iVal;
var = m_pRecordset->GetCollect("Score");
m_Score = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonLast()
{
m_pRecordset->MoveLast();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("CID");
if(var.vt != VT_NULL)
m_CID = var.iVal;
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("IsPass");
if(var.vt != VT_NULL)
m_IsPass = var.iVal;
var = m_pRecordset->GetCollect("Score");
m_Score = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonQuery()
{
m_CID = 0;
m_Score = 0;
m_SID = 0;
m_IsPass = 0;
UpdateData(false);
//更新FOUNCTION值
FOUNCTION = SEARCH;
//修改各个矩形按钮的属性
m_btnQuery.SetState(TRUE);
m_btnAdd.EnableWindow(FALSE);
m_btnDel.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();
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonAdd()
{
//
//给所有显示控件一个添加之前的初值
//
m_CID = 0;
m_Score = 0;
m_SID = 0;
m_IsPass = 0;
UpdateData(false);
//更新FOUNCTION值
FOUNCTION = ADD;
//修改各个矩形按钮的属性
m_btnQuery.EnableWindow(FALSE);
m_btnAdd.SetState(TRUE);
m_btnDel.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();
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonDelete()
{
if(MessageBox("真的删除?\n是请按“是”,\n否请按“否”!", NULL, MB_YESNO | MB_ICONQUESTION) == IDYES)
{
//更新FOUNCTION值
FOUNCTION = DEL;
OnButtonOk();
}
else
{
OnButtonCancel();
}
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonModify()
{
//更新FOUNCTION值
FOUNCTION = MODIFY;
m_ctlSID.SetReadOnly();
m_ctlCID.SetReadOnly();
//修改各个矩形按钮的属性
m_btnQuery.EnableWindow(FALSE);
m_btnAdd.EnableWindow(FALSE);
m_btnDel.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();
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonOk()
{
if(FOUNCTION == SEARCH)
{
Query();
}
else if(FOUNCTION == ADD)
{
Add();
}
else if(FOUNCTION == DEL)
{
Delete();
}
else if(FOUNCTION == MODIFY)
{
Modify();
}
// TODO: Add your control notification handler code here
}
void CPageCho::OnButtonCancel()
{
_variant_t var;
CString str;
FOUNCTION=NONE;
//如果表为空,返回不做下面的操作
if(m_pRecordset->BOF)
{
m_btnAdd.SetState(false);
return;
}
//修改各个矩形按钮的属性
m_btnQuery.EnableWindow(true);
m_btnAdd.EnableWindow(true);
m_btnDel.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_btnDel.SetState(false);
m_btnModify.SetState(false);
m_btnFirst.SetState(false);
m_btnPre.SetState(false);
m_btnNext.SetState(false);
m_btnLast.SetState(false);
m_ctlSID.SetReadOnly(FALSE);
m_ctlCID.SetReadOnly(FALSE);
m_btnOk.SetFocus();
//
//把m_pRecordset所指当前记录显示出来
//
if(m_pRecordset->adoEOF)
{
m_pRecordset->MoveLast();
}
try
{
var = m_pRecordset->GetCollect("CID");
if(var.vt != VT_NULL)
m_CID = var.iVal ;
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("IsPass");
if(var.vt != VT_NULL)
m_IsPass = var.iVal;
var = m_pRecordset->GetCollect("Score");
m_Score = var.iVal;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
// TODO: Add your control notification handler code here
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -