📄 pagestu.cpp
字号:
m_SName = str;
var = m_pRecordset->GetCollect("SSex");
m_SSex = var.iVal;
var = m_pRecordset->GetCollect("SComeDate");
m_SComeDate = var.date;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
//////////////////////////
//
//执行修改功能
//
/////////////////////////
void CPageStu::Modify()
{
//定义变量
_variant_t var;
CString str;
//更新控件变量的值
UpdateData(true);
if(m_SID == 0 )
{
AfxMessageBox("学号信息不能为空!");
return;
}
//
// 修改当前记录的字段值
//
try
{
var.iVal = m_SID;
m_pRecordset->PutCollect("SID", var.iVal);
m_pRecordset->PutCollect("SName", _variant_t(m_SName));
var.iVal=m_SSex;
m_pRecordset->PutCollect("SSex", var.iVal);
var.date = m_SComeDate;
m_pRecordset->PutCollect("SComeDate", var.date);
m_pRecordset->Update();
AfxMessageBox("修改成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CPageStu::OnButtonFirst()
{
m_pRecordset->MoveFirst();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal ;
var = m_pRecordset->GetCollect("SName");
str = (LPCSTR)_bstr_t(var);
m_SName = str;
var = m_pRecordset->GetCollect("SSex");
m_SSex =var.iVal;
var = m_pRecordset->GetCollect("SComeDate");
m_SComeDate= var.date;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
// TODO: Add your control notification handler code here
}
void CPageStu::OnButtonQuery()
{
// TODO: Add your control notification handler code here
m_SID = 0;
m_SName = "";
m_SSex = 0;
m_SComeDate.SetDate(2007, 9, 1);
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();
}
void CPageStu::OnButtonAdd()
{
// TODO: Add your control notification handler code here
//
//给所有显示控件一个添加之前的初值
//
m_SID = 0;
m_SName = "";
m_SSex = 0;
m_SComeDate.SetDate(2007, 9, 1);
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();
}
void CPageStu::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 CPageStu::OnButtonModify()
{
// TODO: Add your control notification handler code here
//更新FOUNCTION值
FOUNCTION = MODIFY;
m_ctlSID.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();
}
void CPageStu::OnButtonPrevious()
{
// 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("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("SName");
str = (LPCSTR)_bstr_t(var);
m_SName = str;
var = m_pRecordset->GetCollect("SSex");
m_SSex = var.iVal;
var = m_pRecordset->GetCollect("SComeDate");
m_SComeDate = var.date;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CPageStu::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("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("SName");
str = (LPCSTR)_bstr_t(var);
m_SName = str;
var = m_pRecordset->GetCollect("SSex");
m_SSex = var.iVal;
var = m_pRecordset->GetCollect("SComeDate");
m_SComeDate= var.date;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CPageStu::OnButtonLast()
{
// TODO: Add your control notification handler code here
m_pRecordset->MoveLast();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal;
var = m_pRecordset->GetCollect("SName");
str = (LPCSTR)_bstr_t(var);
m_SName = str;
var = m_pRecordset->GetCollect("SSex");
m_SSex = var.iVal;
var = m_pRecordset->GetCollect("SComeDate");
m_SComeDate= var.date;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CPageStu::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();
}
// TODO: Add your control notification handler code here
}
void CPageStu::OnButtonCancel()
{
// TODO: Add your control notification handler code here
_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_btnOk.SetFocus();
//
//把m_pRecordset所指当前记录显示出来
//
if(m_pRecordset->adoEOF)
{
m_pRecordset->MoveLast();
}
try
{
var = m_pRecordset->GetCollect("SID");
if(var.vt != VT_NULL)
m_SID = var.iVal ;
var = m_pRecordset->GetCollect("SName");
str = (LPCSTR)_bstr_t(var);
m_SName = str;
var = m_pRecordset->GetCollect("SSex");
m_SSex =var.iVal;
var = m_pRecordset->GetCollect("SComeDate");
m_SComeDate = var.date;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -