📄 dialogtea.cpp
字号:
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("TeaID");
if(var.vt != VT_NULL)
m_TeaID = var.iVal ;
var = m_pRecordset->GetCollect("TeaName");
str = (LPCSTR)_bstr_t(var);
m_TeaName = str;
var = m_pRecordset->GetCollect("TeaSex");
str = (LPCSTR)_bstr_t(var);
m_TeaSex = str;
var = m_pRecordset->GetCollect("TeaStatus");
str = (LPCSTR)_bstr_t(var);
m_TeaStatus = str;
var = m_pRecordset->GetCollect("TeaWay");
str = (LPCSTR)_bstr_t(var);
m_TeaWay = str;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
//////////////////////////
//
//执行修改功能
//
/////////////////////////
void CDialogTEA::Modify()
{
//定义变量
_variant_t var;
CString str;
//更新控件变量的值
UpdateData(true);
if(m_TeaID == 0 || m_TeaName == "")
{
AfxMessageBox("姓名和年龄信息不能为空!");
return;
}
//
// 修改当前记录的字段值
//
try
{
var.iVal = m_TeaID;
m_pRecordset->PutCollect("TeaID", var.iVal);
m_pRecordset->PutCollect("TeaName", _variant_t(m_TeaName));
m_pRecordset->PutCollect("TeaSex", _variant_t(m_TeaSex));
m_pRecordset->PutCollect("TeaStatus", _variant_t(m_TeaStatus));
m_pRecordset->PutCollect("TeaWay", _variant_t(m_TeaWay));
m_pRecordset->Update();
AfxMessageBox("修改成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogTEA::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 CDialogTEA::OnButtonGoBack()
{
// TODO: ADD your control notification handler code here
//关闭记录集,退出
m_pRecordset->Close();
OnCancel();
}
void CDialogTEA::OnButtonAdd()
{
// TODO: ADD your control notification handler code here
//
//给所有显示控件一个添加之前的初值
//
m_TeaID = 0;
m_TeaStatus = "";
m_TeaName = "";
m_TeaSex = "男";
m_TeaWay = "";
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 CDialogTEA::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 CDialogTEA::OnButtonModify()
{
// TODO: ADD your control notification handler code here
//更新FOUNCTION值
FOUNCTION = MODIFY;
m_ctlTeaID.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 CDialogTEA::OnButtonFirst()
{
// TODO: ADD your control notification handler code here
m_pRecordset->MoveFirst();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("TeaID");
if(var.vt != VT_NULL)
m_TeaID = var.iVal ;
var = m_pRecordset->GetCollect("TeaName");
str = (LPCSTR)_bstr_t(var);
m_TeaName = str;
var = m_pRecordset->GetCollect("TeaSex");
str = (LPCSTR)_bstr_t(var);
m_TeaSex = str;
var = m_pRecordset->GetCollect("TeaStatus");
str = (LPCSTR)_bstr_t(var);
m_TeaStatus = str;
var = m_pRecordset->GetCollect("TeaWay");
str = (LPCSTR)_bstr_t(var);
m_TeaWay = str;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogTEA::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("TeaID");
if(var.vt != VT_NULL)
m_TeaID = var.iVal;
var = m_pRecordset->GetCollect("TeaName");
str = (LPCSTR)_bstr_t(var);
m_TeaName = str;
var = m_pRecordset->GetCollect("TeaSex");
str = (LPCSTR)_bstr_t(var);
m_TeaSex = str;
var = m_pRecordset->GetCollect("TeaStatus");
str = (LPCSTR)_bstr_t(var);
m_TeaStatus = str;
var = m_pRecordset->GetCollect("TeaWay");
str = (LPCSTR)_bstr_t(var);
m_TeaWay = str;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogTEA::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("TeaID");
if(var.vt != VT_NULL)
m_TeaID = var.iVal;
var = m_pRecordset->GetCollect("TeaName");
str = (LPCSTR)_bstr_t(var);
m_TeaName = str;
var = m_pRecordset->GetCollect("TeaSex");
str = (LPCSTR)_bstr_t(var);
m_TeaSex = str;
var = m_pRecordset->GetCollect("TeaStatus");
str = (LPCSTR)_bstr_t(var);
m_TeaStatus = str;
var = m_pRecordset->GetCollect("TeaWay");
str = (LPCSTR)_bstr_t(var);
m_TeaWay = str;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogTEA::OnButtonLast()
{
// TODO: ADD your control notification handler code here
m_pRecordset->MoveLast();
_variant_t var;
CString str;
try
{
var = m_pRecordset->GetCollect("TeaID");
if(var.vt != VT_NULL)
m_TeaID = var.iVal;
var = m_pRecordset->GetCollect("TeaName");
str = (LPCSTR)_bstr_t(var);
m_TeaName = str;
var = m_pRecordset->GetCollect("TeaSex");
str = (LPCSTR)_bstr_t(var);
m_TeaSex = str;
var = m_pRecordset->GetCollect("TeaStatus");
str = (LPCSTR)_bstr_t(var);
m_TeaStatus = str;
var = m_pRecordset->GetCollect("TeaWay");
str = (LPCSTR)_bstr_t(var);
m_TeaWay = str;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CDialogTEA::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_ctlTeaID.SetReadOnly(FALSE);
m_btnOK.SetFocus();
//
//把m_pRecordset所指当前记录显示出来
//
if(m_pRecordset->adoEOF)
{
m_pRecordset->MoveLast();
}
try
{
var = m_pRecordset->GetCollect("TeaID");
if(var.vt != VT_NULL)
m_TeaID = var.iVal;
var = m_pRecordset->GetCollect("TeaName");
str = (LPCSTR)_bstr_t(var);
m_TeaName = str;
var = m_pRecordset->GetCollect("TeaSex");
str = (LPCSTR)_bstr_t(var);
m_TeaSex = str;
var = m_pRecordset->GetCollect("TeaStatus");
str = (LPCSTR)_bstr_t(var);
m_TeaStatus = str;
var = m_pRecordset->GetCollect("TeaWay");
str = (LPCSTR)_bstr_t(var);
m_TeaWay = str;
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -