📄 mdbdlg.cpp
字号:
// MdbDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Invoice.h"
#include "MdbDlg.h"
#include "Mdb.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define SAVE_MDBDATA_MAXNO 50000
/////////////////////////////////////////////////////////////////////////////
// CMdbDlg dialog
/////////////////////////
//////////////保存所有数据
struct SAVE_MDBDATA{
int t_num;
CString t_goods_num;
CString t_goods_mode;
CString t_goods_unitprice;
}save_mdbdata[SAVE_MDBDATA_MAXNO];
long save_mdbdata_maxno;
CString init_goods_num[SAVE_MDBDATA_MAXNO];
CString init_goods_mode[SAVE_MDBDATA_MAXNO];
CString init_goods_unitprice[SAVE_MDBDATA_MAXNO];
//////////////保存当此查询数据
CString tt0[SAVE_MDBDATA_MAXNO];
CString tt1[SAVE_MDBDATA_MAXNO];
CString tt2[SAVE_MDBDATA_MAXNO];
int m_tt_maxno;
/////////////////
CMdbDlg::CMdbDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMdbDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMdbDlg)
m_mdb_googs_mode = _T("");
m_mdb_googs_num = _T("");
m_mdb_googs_unitprice = _T("");
m_mdb_goods_xh = _T("");
//}}AFX_DATA_INIT
}
BOOL CMdbDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
// m_list_mdb.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
// m_list_mdb.InsertColumn(0,"序号",LVCFMT_LEFT,60,50);
// m_list_mdb.InsertColumn(1," 货品编号",LVCFMT_LEFT,150,50);
// m_list_mdb.InsertColumn(2," 电 镀",LVCFMT_LEFT,150,50);
// m_list_mdb.InsertColumn(3," 单价(元)",LVCFMT_LEFT,150,50);
// m_list_mdb.InsertColumn(4," 备 注",LVCFMT_LEFT,230,50);
m_list_mdb.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_list_mdb.SetHeadings( _T("序号,60;货品编号,150;电 镀,150;单价(元),150;备 注,230") ); ///设置列头信息
m_list_mdb.LoadColumnInfo();
///////////////
//////////导出MDB
save_mdbdata_maxno=Mdb.QueryAllMdbDao(init_goods_num,init_goods_mode,init_goods_unitprice);
for(int i=0;i<save_mdbdata_maxno;i++)
{
save_mdbdata[i].t_goods_num=init_goods_num[i];
save_mdbdata[i].t_goods_mode=init_goods_mode[i];
save_mdbdata[i].t_goods_unitprice=init_goods_unitprice[i];
}
// OutAllScr();
m_tt_maxno=0;
return TRUE; // return TRUE unless you set the focus to a control
}
void CMdbDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMdbDlg)
DDX_Control(pDX, IDC_LIST_MDB, m_list_mdb);
DDX_Text(pDX, IDC_MDB_GOODS_MODE, m_mdb_googs_mode);
DDV_MaxChars(pDX, m_mdb_googs_mode, 8);
DDX_Text(pDX, IDC_MDB_GOODS_NUM, m_mdb_googs_num);
DDX_Text(pDX, IDC_MDB_GOODS_UNITPRICE, m_mdb_googs_unitprice);
DDV_MaxChars(pDX, m_mdb_googs_unitprice, 8);
DDX_Text(pDX, IDC_EDIT_MDB_XH, m_mdb_goods_xh);
//}}AFX_DATA_MAP
////////////////初始化MDBDLG
// if(m_InitDlg==123)
// {
// /////////////////
// // ((CButton*)GetDlgItem(IDC_RADIO_QUERY_JJ))->SetCheck(1);
//
// m_InitDlg=0;
// m_list_mdb.InsertColumn(0,"序号",LVCFMT_LEFT,60,50);
// m_list_mdb.InsertColumn(1," 货品编号",LVCFMT_LEFT,150,50);
// m_list_mdb.InsertColumn(2," 电 镀",LVCFMT_LEFT,150,50);
// m_list_mdb.InsertColumn(3," 单 价",LVCFMT_LEFT,150,50);
// m_list_mdb.InsertColumn(4," 备 注",LVCFMT_LEFT,230,50);
//
// m_list_mdb.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//
// //////////导出MDB
// save_mdbdata_maxno=Mdb.QueryAllMdbDao(init_goods_num,init_goods_mode,init_goods_unitprice);
// for(int i=0;i<save_mdbdata_maxno;i++)
// {
// save_mdbdata[i].t_goods_num=init_goods_num[i];
// save_mdbdata[i].t_goods_mode=init_goods_mode[i];
// save_mdbdata[i].t_goods_unitprice=init_goods_unitprice[i];
// }
// m_tt_maxno=0;
// }
}
BEGIN_MESSAGE_MAP(CMdbDlg, CDialog)
//{{AFX_MSG_MAP(CMdbDlg)
ON_BN_CLICKED(IDC_BUTTON_DELETE, OnMbdDelete)
ON_BN_CLICKED(IDC_BUTTON_CHANGE, OnMdbChange)
ON_BN_CLICKED(IDC_BUTTON_INSERT, OnMdbInsert)
ON_BN_CLICKED(IDC_BUTTON_QUERYMDB, OnMdbQuery)
ON_NOTIFY(NM_CLICK, IDC_LIST_MDB, OnClickListMdb)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMdbDlg message handlers
void CMdbDlg::OnMbdDelete()
{
// TODO: Add your control notification handler code here
if(m_user!="LKJ_RK0"&&m_user!="LKJ_RK1")
{
AfxMessageBox("对不起,你没有删除权限!");
return ;
}
if(MBox("删除数据库")==0)
{
return;
}
UpdateData(TRUE);
if(m_mdb_googs_unitprice.IsEmpty()!=1)
{
if(CheckInt(m_mdb_googs_unitprice)==0)
{
AfxMessageBox("单价输入错误");
return;
}
}
if(m_mdb_googs_num.IsEmpty()==1
&&m_mdb_googs_mode.IsEmpty()==1
&&m_mdb_googs_unitprice.IsEmpty()==1)
{
AfxMessageBox("删除时 至少有一项不能为空");
return;
}
int flag=0,i,j;
flag=Mdb.DeleteMdbDao(m_mdb_googs_num,m_mdb_googs_mode,m_mdb_googs_unitprice);
if(flag==0)
{
AfxMessageBox("数据库不存在此记录!");
}
else if(flag==1)
{
for(i=0;i<save_mdbdata_maxno;i++)
{
if(save_mdbdata[i].t_goods_num==Mdb.mdb_goods[0].t_goods_num
&&save_mdbdata[i].t_goods_mode==Mdb.mdb_goods[0].t_goods_mode
&&save_mdbdata[i].t_goods_unitprice==Mdb.mdb_goods[0].t_goods_unitprice)
break;
}
if(i<save_mdbdata_maxno)
{
for(j=i;j<save_mdbdata_maxno;j++)
{
save_mdbdata[j].t_goods_num=save_mdbdata[j+1].t_goods_num;
save_mdbdata[j].t_goods_mode=save_mdbdata[j+1].t_goods_mode;
save_mdbdata[j].t_goods_unitprice=save_mdbdata[j+1].t_goods_unitprice;
}
save_mdbdata_maxno--;
for(i=0;i<m_tt_maxno;i++)
{
if( tt0[i]==Mdb.mdb_goods[0].t_goods_num
&&tt1[i]==Mdb.mdb_goods[0].t_goods_mode
&&tt2[i]==Mdb.mdb_goods[0].t_goods_unitprice)
break;
}
if(i<m_tt_maxno)
{
for(j=i;j<m_tt_maxno;j++)
{
tt0[j]=tt0[j+1];
tt1[j]=tt1[j+1];
tt2[j]=tt2[j+1];
}
m_tt_maxno--;
OutDelScr(i);
}
}
}
else
{
save_mdbdata_maxno=Mdb.QueryAllMdbDao(init_goods_num,init_goods_mode,init_goods_unitprice);
for(i=0;i<save_mdbdata_maxno;i++)
{
save_mdbdata[i].t_goods_num=init_goods_num[i];
save_mdbdata[i].t_goods_mode=init_goods_mode[i];
save_mdbdata[i].t_goods_unitprice=init_goods_unitprice[i];
}
OutAllScr();
}
}
void CMdbDlg::OnMdbChange()
{
// TODO: Add your control notification handler code here
int flag=0,i;
if(m_user!="LKJ_RK0"&&m_user!="LKJ_RK1")
{
AfxMessageBox("对不起,你没有修改权限!");
return ;
}
if(MBox("修改数据库")==0)
{
return;
}
UpdateData(TRUE);
if(m_mdb_googs_unitprice.IsEmpty()!=1)
{
if(CheckInt(m_mdb_googs_unitprice)==0)
{
AfxMessageBox("单价输入错误");
return;
}
}
if(m_mdb_googs_num.IsEmpty()==1
&&m_mdb_googs_mode.IsEmpty()==1
&&m_mdb_googs_unitprice.IsEmpty()==1)
{
AfxMessageBox("修改时 至少有一项不能为空");
return;
}
if(QchMdb(m_mdb_googs_num,m_mdb_googs_mode,m_mdb_googs_unitprice)==0)
{
AfxMessageBox("数据库已存在此条记录\r不能修改成为输入值!");
return ;
}
Mdb.m_ChangeMdb[0]=tt0[m_change_num];
Mdb.m_ChangeMdb[1]=tt1[m_change_num];
Mdb.m_ChangeMdb[2]=tt2[m_change_num];
flag=Mdb.Change(m_mdb_googs_num,m_mdb_googs_mode,m_mdb_googs_unitprice);
if(flag==0)
{
AfxMessageBox("数据库不存在此记录!");
}
else if(flag==1)
{
for(i=0;i<save_mdbdata_maxno;i++)
{
if(save_mdbdata[i].t_goods_num==Mdb.mdb_goods[0].t_goods_num
&&save_mdbdata[i].t_goods_mode==Mdb.mdb_goods[0].t_goods_mode
&&save_mdbdata[i].t_goods_unitprice==Mdb.mdb_goods[0].t_goods_unitprice)
break;
}
if(i<save_mdbdata_maxno)
{
save_mdbdata[i].t_goods_num=m_mdb_googs_num;
save_mdbdata[i].t_goods_mode=m_mdb_googs_mode;
save_mdbdata[i].t_goods_unitprice=m_mdb_googs_unitprice;
tt0[m_change_num]=m_mdb_googs_num;
tt1[m_change_num]=m_mdb_googs_mode;
tt2[m_change_num]=m_mdb_googs_unitprice;
OutChangeScr(m_change_num);
}
}
else
{
save_mdbdata_maxno=Mdb.QueryAllMdbDao(init_goods_num,init_goods_mode,init_goods_unitprice);
for(i=0;i<save_mdbdata_maxno;i++)
{
save_mdbdata[i].t_goods_num=init_goods_num[i];
save_mdbdata[i].t_goods_mode=init_goods_mode[i];
save_mdbdata[i].t_goods_unitprice=init_goods_unitprice[i];
}
OutAllScr();
}
}
void CMdbDlg::OnMdbInsert()
{
// TODO: Add your control notification handler code here
m_change_num=999999;
if(m_user!="LKJ_RK0"&&m_user!="LKJ_RK1")
{
AfxMessageBox("对不起,你没有添加权限!");
return ;
}
if(save_mdbdata_maxno>SAVE_MDBDATA_MAXNO)
{
AfxMessageBox("数据库插入越界,请清理数据库或找开发人员联系!");
return;
}
if(MBox("数据库插入")==0)
{
return;
}
UpdateData(TRUE);
if(m_mdb_googs_num.IsEmpty()==1)
{
AfxMessageBox("插入货品编号不能为空!");
return ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -