⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdbdlg.cpp

📁 一个企业订单管理流程的例子
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -