📄 table1dialog.cpp
字号:
// table1Dialog.cpp : implementation file
//
#include "stdafx.h"
#include "MyWork.h"
#include "table1Dialog.h"
#include "Set1.h"
#include "picDialog.h"
#include "delDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Ctable1Dialog dialog
Ctable1Dialog::Ctable1Dialog(CWnd* pParent /*=NULL*/)
: CDialog(Ctable1Dialog::IDD, pParent)
{
//{{AFX_DATA_INIT(Ctable1Dialog)
m_bname = _T("");
m_cname = _T("");
m_cz = _T("");
m_ename = _T("");
m_fz = _T("");
m_gnzz = _T("");
m_hxcf = _T("");
m_jname = _T("");
m_ly = _T("");
m_pathname = _T("");
m_xw = _T("");
m_xz = _T("");
m_zwxt = _T("");
m_set1=NULL;
m_count1 = 0;
//}}AFX_DATA_INIT
}
void Ctable1Dialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Ctable1Dialog)
DDX_Control(pDX, IDC_COMBO_JNAME, m_comboj);
DDX_Control(pDX, IDC_COMBO_ENAME, m_comboe);
DDX_Control(pDX, IDC_COMBO_CNAME, m_comboc);
DDX_Control(pDX, IDC_COMBO_BNAME, m_combob);
DDX_Control(pDX, IDC_COMBO_HXCF, m_combo4);
DDX_Control(pDX, IDC_COMBO_CZ, m_combo3);
DDX_Control(pDX, IDC_COMBO_XW, m_combo2);
DDX_Control(pDX, IDC_COMBO_GNZZ, m_combo1);
DDX_Control(pDX, IDC_CHECK_HXCF, m_concheck4);
DDX_Control(pDX, IDC_CHECK_CZ, m_concheck3);
DDX_Control(pDX, IDC_CHECK_XW, m_concheck2);
DDX_Control(pDX, IDC_CHECK_GNZZ, m_concheck1);
DDX_Text(pDX, IDC_EDIT_BNAME, m_bname);
DDX_Text(pDX, IDC_EDIT_CNAME, m_cname);
DDX_Text(pDX, IDC_EDIT_CZ, m_cz);
DDX_Text(pDX, IDC_EDIT_ENAME, m_ename);
DDX_Text(pDX, IDC_EDIT_FZ, m_fz);
DDX_Text(pDX, IDC_EDIT_GNZZ, m_gnzz);
DDX_Text(pDX, IDC_EDIT_HXCF, m_hxcf);
DDX_Text(pDX, IDC_EDIT_JNAME, m_jname);
DDX_Text(pDX, IDC_EDIT_LY, m_ly);
DDX_Text(pDX, IDC_EDIT_PATHNAME, m_pathname);
DDX_Text(pDX, IDC_EDIT_XW, m_xw);
DDX_Text(pDX, IDC_EDIT_XZ, m_xz);
DDX_Text(pDX, IDC_EDIT_ZWXT, m_zwxt);
DDX_Text(pDX, IDC_COUNT, m_count1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Ctable1Dialog, CDialog)
//{{AFX_MSG_MAP(Ctable1Dialog)
ON_BN_CLICKED(IDC_CAXUN, OnCaxun)
ON_BN_CLICKED(IDC_PICXIANSI, OnPicxiansi)
ON_BN_CLICKED(IDC_LIULAN, OnLiulan)
ON_COMMAND(ID_ATTRI_ALTER, OnAttriAlter)
ON_COMMAND(ID_ATTRI_DELETE, OnAttriDelete)
ON_COMMAND(ID_ATTRI_MOVEFIRST, OnAttriMovefirst)
ON_COMMAND(ID_ATTRI_MOVELAST, OnAttriMovelast)
ON_COMMAND(ID_ATTRI_MOVENEXT, OnAttriMovenext)
ON_COMMAND(ID_ATTRI_MOVEPRE, OnAttriMovepre)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Ctable1Dialog message handlers
BOOL Ctable1Dialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
btn[0].iBitmap=0;
btn[0].idCommand=ID_ATTRI_MOVEFIRST;
btn[0].fsState=TBSTATE_ENABLED;
btn[0].fsStyle=TBSTYLE_BUTTON;
btn[0].dwData=0;
btn[0].iString=0;
btn[1].iBitmap=1;
btn[1].idCommand=ID_ATTRI_MOVEPRE;
btn[1].fsState=TBSTATE_ENABLED;
btn[1].fsStyle=TBSTYLE_BUTTON;
btn[1].dwData=0;
btn[1].iString=1;
btn[2].iBitmap=2;
btn[2].idCommand=ID_ATTRI_MOVENEXT;
btn[2].fsState=TBSTATE_ENABLED;
btn[2].fsStyle=TBSTYLE_BUTTON;
btn[2].dwData=0;
btn[2].iString=2;
btn[3].iBitmap=3;
btn[3].idCommand=ID_ATTRI_MOVELAST;
btn[3].fsState=TBSTATE_ENABLED;
btn[3].fsStyle=TBSTYLE_BUTTON;
btn[3].dwData=0;
btn[3].iString=3;
btn[4].iBitmap=4;
btn[4].idCommand=ID_ATTRI_ALTER;
btn[4].fsState=TBSTATE_ENABLED;
btn[4].fsStyle=TBSTYLE_BUTTON;
btn[4].dwData=0;
btn[4].iString=4;
btn[5].iBitmap=5;
btn[5].idCommand=ID_ATTRI_DELETE;
btn[5].fsState=TBSTATE_ENABLED;
btn[5].fsStyle=TBSTYLE_BUTTON;
btn[5].dwData=0;
btn[5].iString=5;
btn[6].iBitmap=6;
btn[6].idCommand=ID_ATTRI_CLOSE;
btn[6].fsState=TBSTATE_ENABLED;
btn[6].fsStyle=TBSTYLE_BUTTON;
btn[6].dwData=0;
btn[6].iString=6;
m_toolbarCtrl=NULL;
VERIFY(m_toolbarCtrl==NULL);
m_toolbarCtrl=new CToolBarCtrl();
CRect wndRect;
GetWindowRect(&wndRect);
CRect rc(40,10,220,40);
m_toolbarCtrl->Create(TBSTYLE_TOOLTIPS |WS_CHILD | WS_VISIBLE | CCS_TOP| CCS_NORESIZE|CCS_NODIVIDER,rc,this,5);
m_toolbarCtrl->AddButtons(7,btn);
m_toolbarCtrl->AddBitmap(1,IDR_MYTOOLBAR);
m_toolbarCtrl->AutoSize();
//m_toolbarCtrl->ShowWindow(false);*/
flag=false;
CEdit *ptr=((CEdit*)GetDlgItem(IDC_EDIT_CNAME));
ptr->SetReadOnly(true);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void Ctable1Dialog::OnCaxun()
{
// TODO: Add your control notification handler code here
//查询条件
int n1,n2,n3,n4;
n1=0;
n2=0;
n3=0;
n4=0;
CString str;
CString temp;
CString lg;
//判断查询类型:
UINT nradio1=GetCheckedRadioButton(IDC_RADIO_GUANJIANGZI,IDC_RADIO_FUHE);
switch (nradio1)
{
//如果是复合查询:
case IDC_RADIO_FUHE:
{
UINT nradio=GetCheckedRadioButton(IDC_RADIO_YU,IDC_RADIO_HUO);
//判断选择了什么运算符
switch (nradio)
{
case IDC_RADIO_YU: lg="and"; break;
case IDC_RADIO_HUO: lg="or"; break;
default:
{
n1=m_concheck1.GetCheck();
n2=m_concheck2.GetCheck();
n3=m_concheck3.GetCheck();
n4=m_concheck4.GetCheck();
if ((n1+n2+n3+n4)>=2)
{
MessageBox("你没有选择运算关系,请选择逻辑关系!","错误操作!",MB_ICONINFORMATION);
goto label;
}
else
if ((n1+n2+n3+n4)==0)
{
MessageBox("你没有选择运算关系和查询条件,请选择逻辑关系!","错误操作!",MB_ICONINFORMATION);
goto label;
}
}
} //end switch (nradio)
//MessageBox(lg);
n1=m_concheck1.GetCheck();
n2=m_concheck2.GetCheck();
n3=m_concheck3.GetCheck();
n4=m_concheck4.GetCheck();
if ((n1+n2+n3+n4)==0)
{
MessageBox("你没有选择查询条件,请选择逻辑关系!","错误操作!");
goto label;
}
// 判断复合选项
if (m_concheck1.GetCheck())
{
m_combo1.GetWindowText(temp);
str+=" herbal_gnzz like'%"+temp+"%'";
str+=lg;
}
if (m_concheck2.GetCheck())
{
m_combo2.GetWindowText(temp);
str+=" herbal_xw like'%"+temp+"%'";
str+=lg;
}
if (m_concheck3.GetCheck())
{
m_combo3.GetWindowText(temp);
str+=" herbal_cz like'%"+temp+"%'";
str+=lg;
}
if (m_concheck4.GetCheck())
{
m_combo4.GetWindowText(temp);
str+=" herbal_hxcf like'%"+temp+"%'";
str+=lg;
}
if (lg=="and")
str=str.Left(str.GetLength()-3);
else if (lg=="or")
str=str.Left(str.GetLength()-2);
// str="select * from herbal_sun where "+str;
// MessageBox(str); //测试查询条件
break;
} // end case fuhe
case IDC_RADIO_GUANJIANGZI:
{
//判断选择中药材名称
UINT nradio2=GetCheckedRadioButton(IDC_RADIO_CNAME,IDC_RADIO_ENAME);
switch (nradio2)
{
case IDC_RADIO_CNAME:
{
m_comboc.GetWindowText(temp);
str="name_c='"+temp+"'";
// MessageBox(str); // str+=lg;
break;
}
case IDC_RADIO_ENAME:
{
m_comboe.GetWindowText(temp);
str="name_e='"+temp+"'";
// MessageBox(str);
break;
}
default : //break;
//111111 }
{ /////111111111
UINT nradio3=GetCheckedRadioButton(IDC_RADIO_JNAME,IDC_RADIO_BNAME);
switch (nradio3)
{
case IDC_RADIO_JNAME:
{
m_comboj.GetWindowText(temp);
str="name_j='"+temp+"'";
// MessageBox(str);
break;
}
case IDC_RADIO_BNAME:
{
m_combob.GetWindowText(temp);
str="name_b like'%"+temp+"%'";
// MessageBox(str);// str+=lg;
break;
}
default: MessageBox("你没有选择关键字,请重新选择!","操作失败!",MB_ICONINFORMATION); goto label;//break;
} // end switch(nradio3)
}///111111 end switch(nradio2) default:
}////11111 end switch(nradio2)
break;
} // end case guanjianzi
default:
MessageBox("你没有输入查询条件,将查询所有记录,请等待!","查询操作!",MB_ICONINFORMATION); break;
} //end switch(nradio1)
//记录操作:
m_set1=new Set1(&db);
m_set1->m_strFilter=str;
m_set1->Open();
flag=true;
if (!m_set1->IsBOF())
m_set1->MoveFirst();
while (!m_set1->IsEOF())
m_set1->MoveNext();
nCnt1=m_set1->GetRecordCount();
m_count1=nCnt1;
m_set1->MoveFirst();
m_cname=m_set1->m_name_c;
m_ename=m_set1->m_name_e;
m_jname=m_set1->m_name_j;
m_bname=m_set1->m_name_b;
m_ly=m_set1->m_herbal_ly;
m_cz=m_set1->m_herbal_cz;
m_gnzz=m_set1->m_herbal_gnzz;
m_hxcf=m_set1->m_herbal_hxcf;
m_xz=m_set1->m_herbal_xz;
m_xw=m_set1->m_herbal_xw;
m_fz=m_set1->m_herbal_fz;
m_pathname=m_set1->m_herbal_pathname;
m_zwxt=m_set1->m_herbal_zwxt;
UpdateData(false);
label: n1=n1;
}
void Ctable1Dialog::OnOK()
{
// TODO: Add extra validation here
if (flag)
{
if (m_set1->IsOpen())
{
//MessageBox("记录集此时打开");
m_set1->Close();
delete m_set1;
}
}
CDialog::OnOK();
}
void Ctable1Dialog::OnPicxiansi()
{
// TODO: Add your control notification handler code here
CpicDialog dlg;
dlg.Getpath(m_pathname);
dlg.DoModal();
}
void Ctable1Dialog::OnLiulan()
{
// TODO: Add your control notification handler code here
UpdateData(true); //////保存之前修改的记录
CFileDialog dlg(TRUE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("文本文件(*.BMP)|*.BMP|"));
if(IDOK==dlg.DoModal())
{
Bmpname.Format("%s",dlg.GetPathName());
m_pathname=Bmpname;
UpdateData(false);
}
}
void Ctable1Dialog::OnAttriAlter()
{
// TODO: Add your command handler code here
if (flag)
{
m_set1->Edit();
UpdateData(true);
m_set1->m_name_b=m_bname;
m_set1->m_name_c=m_cname;
m_set1->m_name_j=m_jname;
m_set1->m_name_e=m_ename;
m_set1->m_herbal_ly=m_ly;
m_set1->m_herbal_zwxt=m_zwxt;
m_set1->m_herbal_hxcf=m_hxcf;
m_set1->m_herbal_gnzz=m_gnzz;
m_set1->m_herbal_xw=m_xw;
m_set1->m_herbal_fz=m_fz;
m_set1->m_herbal_pathname=m_pathname;
m_set1->m_herbal_cz=m_cz;
m_set1->m_herbal_xz=m_xz;
m_set1->Update();
/// m_set1->Requery();///////////后添加
MessageBox("edit a record!");
}
else MessageBox("此前记录没有,请先选择打开记录!","操作失败!",MB_ICONQUESTION);
}
void Ctable1Dialog::OnAttriDelete()
{
// TODO: Add your command handler code here
CdelDialog dlg;
if (flag)
{
if(dlg.DoModal()==IDOK)
{
m_set1->Delete();
m_set1->MoveNext();
m_set1->Requery();
m_bname=m_set1->m_name_b;
m_cname=m_set1->m_name_c;
m_jname=m_set1->m_name_j;
m_ename=m_set1->m_name_e;
m_ly=m_set1->m_herbal_ly;
m_zwxt=m_set1->m_herbal_zwxt;
m_gnzz=m_set1->m_herbal_gnzz;
m_hxcf=m_set1->m_herbal_hxcf;
m_xw=m_set1->m_herbal_xw;
m_fz=m_set1->m_herbal_fz;
m_pathname=m_set1->m_herbal_pathname;
m_cz=m_set1->m_herbal_cz;
m_xz=m_set1->m_herbal_xz;
nCnt1=nCnt1-1;
m_count1=nCnt1;
UpdateData(false);
}
}
else MessageBox("此前没有记录,请先选择打开记录!","操作失败!",MB_ICONQUESTION);
}
void Ctable1Dialog::OnAttriMovefirst()
{
// TODO: Add your command handler code here
if (flag)
{
m_set1->MoveFirst();
m_cname=m_set1->m_name_c;
m_ename=m_set1->m_name_e;
m_jname=m_set1->m_name_j;
m_bname=m_set1->m_name_b;
m_ly=m_set1->m_herbal_ly;
m_cz=m_set1->m_herbal_cz;
m_gnzz=m_set1->m_herbal_gnzz;
m_hxcf=m_set1->m_herbal_hxcf;
m_xz=m_set1->m_herbal_xz;
m_xw=m_set1->m_herbal_xw;
m_fz=m_set1->m_herbal_fz;
m_pathname=m_set1->m_herbal_pathname;
m_zwxt=m_set1->m_herbal_zwxt;
UpdateData(false);
}
else
MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);
}
void Ctable1Dialog::OnAttriMovelast()
{
// TODO: Add your command handler code here
if (flag)
{
m_set1->MoveLast();
m_cname=m_set1->m_name_c;
m_ename=m_set1->m_name_e;
m_jname=m_set1->m_name_j;
m_bname=m_set1->m_name_b;
m_ly=m_set1->m_herbal_ly;
m_cz=m_set1->m_herbal_cz;
m_gnzz=m_set1->m_herbal_gnzz;
m_hxcf=m_set1->m_herbal_hxcf;
m_xz=m_set1->m_herbal_xz;
m_xw=m_set1->m_herbal_xw;
m_fz=m_set1->m_herbal_fz;
m_pathname=m_set1->m_herbal_pathname;
m_zwxt=m_set1->m_herbal_zwxt;
UpdateData(false);
}
else
MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);
}
void Ctable1Dialog::OnAttriMovenext()
{
// TODO: Add your command handler code here
if (flag)
{
m_set1->MoveNext();
if (m_set1->IsEOF())
{
m_set1->MoveLast();
MessageBox("记录移到最后!","移动记录!",MB_ICONINFORMATION);
}
m_cname=m_set1->m_name_c;
m_ename=m_set1->m_name_e;
m_jname=m_set1->m_name_j;
m_bname=m_set1->m_name_b;
m_ly=m_set1->m_herbal_ly;
m_cz=m_set1->m_herbal_cz;
m_gnzz=m_set1->m_herbal_gnzz;
m_hxcf=m_set1->m_herbal_hxcf;
m_xz=m_set1->m_herbal_xz;
m_xw=m_set1->m_herbal_xw;
m_fz=m_set1->m_herbal_fz;
m_pathname=m_set1->m_herbal_pathname;
m_zwxt=m_set1->m_herbal_zwxt;
UpdateData(false);
}
else
MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);
}
void Ctable1Dialog::OnAttriMovepre()
{
// TODO: Add your command handler code here
if (flag)
{
m_set1->MovePrev();
if (m_set1->IsBOF())
{
m_set1->MoveFirst();
MessageBox("记录移到最前!","移动记录!",MB_ICONINFORMATION);
}
m_cname=m_set1->m_name_c;
m_ename=m_set1->m_name_e;
m_jname=m_set1->m_name_j;
m_bname=m_set1->m_name_b;
m_ly=m_set1->m_herbal_ly;
m_cz=m_set1->m_herbal_cz;
m_gnzz=m_set1->m_herbal_gnzz;
m_hxcf=m_set1->m_herbal_hxcf;
m_xz=m_set1->m_herbal_xz;
m_xw=m_set1->m_herbal_xw;
m_fz=m_set1->m_herbal_fz;
m_pathname=m_set1->m_herbal_pathname;
m_zwxt=m_set1->m_herbal_zwxt;
UpdateData(false);
}
else
MessageBox("此前没有记录,请选择打开记录!","操作失败!",MB_ICONQUESTION);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -