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

📄 dlgck.cpp

📁 这是一个管理信息系统
💻 CPP
字号:
// DlgCK.cpp : implementation file
//

#include "stdafx.h"
#include "a1.h"
#include "DlgCK.h"
#include "DlgTheCK.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgCK dialog


CDlgCK::CDlgCK(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgCK::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgCK)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDlgCK::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgCK)
	DDX_Control(pDX, IDC_LIST1, m_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgCK, CDialog)
	//{{AFX_MSG_MAP(CDlgCK)
	ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)
	ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
	ON_BN_CLICKED(IDC_BUTTON_XIUGAI, OnButtonXiugai)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgCK message handlers

BOOL CDlgCK::OnInitDialog() 
{
	CDialog::OnInitDialog();
	CRect rect;
	m_list.SetExtendedStyle( LVS_EX_FULLROWSELECT |		//允许整行选中
	//	LVS_EX_HEADERDRAGDROP |		//允许整列拖动
		LVS_EX_GRIDLINES |	//画出网格线
	//	LVS_EX_ONECLICKACTIVATE |	//单击选中表项
		LVS_EX_FLATSB				//扁平风格的滚动条	
	//	LVS_EX_UNDERLINEHOT 
		);	
		this->m_list.GetClientRect(rect);
		m_list.InsertColumn(0,"仓库名称");
		m_list.InsertColumn(1,"仓库管理员");

		m_list.SetColumnWidth(0,rect.Width()/2);
		m_list.SetColumnWidth(1,rect.Width()/2);

	this->InitList();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

bool CDlgCK::InitList()
{
	try{
	int i=0;
	CString sql;
	CString str;
	_variant_t value;
	sql.Format("select tabck.ck_name,tabck.yg_id,tabyginfo.yg_name \
		from tabck,tabyginfo where tabck.yg_id = tabyginfo.yg_id \
		order by ck_name asc");
	this->m_runsql.CheckSQLResult(sql);
	m_list.DeleteAllItems();
	m_list.SetRedraw(false);
	while(!m_runsql.m_recordset->adoEOF)
	{
		value=m_runsql.m_recordset->GetCollect("ck_name");
		this->m_list.InsertItem(i,(char*)(_bstr_t)value);
		value=m_runsql.m_recordset->GetCollect("yg_id");
		if(value.vt!=VT_NULL)
		str=(char*)(_bstr_t)value;
		str+=":";
		value=m_runsql.m_recordset->GetCollect("yg_name");
		if(value.vt!=VT_NULL)
		str+=(char*)(_bstr_t)value;

		this->m_list.SetItemText(i,1,str);

		i++;
		m_runsql.m_recordset->MoveNext();
	}

	sql.Format("select * from tabck where yg_id = '' \
		order by ck_name asc");
	this->m_runsql.CheckSQLResult(sql);

	while(!m_runsql.m_recordset->adoEOF)
	{
		value=m_runsql.m_recordset->GetCollect("ck_name");
		this->m_list.InsertItem(i,(char*)(_bstr_t)value);
		this->m_list.SetItemText(i,1,"");

		i++;
		m_runsql.m_recordset->MoveNext();
	}
	m_list.SetRedraw(true);
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.ErrorMessage());
		m_list.SetRedraw(true);
		return false;	
	}	
	return true;
}

void CDlgCK::OnButtonDel() 
{
	if(MessageBox("确定删除仓库及其相关的库存信息吗?","注意",MB_YESNO)!=IDYES)
		return ;

	int mark=this->m_list.GetSelectionMark();
	if(mark<0)return ;
	m_sSelectedUser=this->m_list.GetItemText(mark,0);
	CString sql;
	bool	m_bNULL=true;
	_variant_t value;
	sql.Format("select kc_number from tabkc where ck_name = '%s'",m_sSelectedUser);
	m_runsql.CheckSQLResult(sql);
	while(!m_runsql.m_recordset->adoEOF)
	{
		value=m_runsql.m_recordset->GetCollect("kc_number");
		if(value.vt!=VT_NULL)
		{
			if(value.lVal!=0)
			{
				m_bNULL=false;
				break;
			}
		}
		m_runsql.m_recordset->MoveNext();
	}
	if(!m_bNULL){
		MessageBox("请将数据库清0后,再删除该仓库!","注意");
		return;
	}
	sql.Format("delete * from tabck where ck_name = '%s'",m_sSelectedUser);
	m_runsql.RunSQL(sql);
	sql.Format("delete * from tabkc where ck_name = '%s'",m_sSelectedUser);
	m_runsql.RunSQL(sql);

	m_list.DeleteItem(mark);
}

void CDlgCK::OnButtonAdd() 
{
CDlgTheCK dlg;
dlg.m_bAdd=true;
if(dlg.DoModal()==IDOK)
{	
int i=m_list.GetItemCount();
this->m_list.InsertItem(i,dlg.m_strCkName);
this->m_list.SetItemText(i,1,dlg.m_strCkAdmi);
}
}
void CDlgCK::OnButtonXiugai() 
{	
	int mark=this->m_list.GetSelectionMark();
	if(mark<0)return;

	CDlgTheCK dlg;
	dlg.m_bAdd=false;
	dlg.m_strCkName=this->m_list.GetItemText(mark,0);
	dlg.m_strCkAdmi=this->m_list.GetItemText(mark,1);
	dlg.DoModal();		
	this->m_list.SetItemText(mark,0,dlg.m_strCkName);
	this->m_list.SetItemText(mark,1,dlg.m_strCkAdmi);
}
void CDlgCK::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	this->OnButtonXiugai();	
	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -