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

📄 dlgproviderinfo1.cpp

📁 这是一个图书管理系统,实现了图书馆中日常管理用到的所有操作.
💻 CPP
字号:
// DlgProviderInfo1.cpp : implementation file
//

#include "stdafx.h"
#include "bbb.h"
#include "DlgProviderInfo1.h"

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

extern _ConnectionPtr m_pCon;  //ADO连接对象
extern _RecordsetPtr m_pRs; 
extern _CommandPtr m_pCom;
/////////////////////////////////////////////////////////////////////////////
// CDlgProviderInfo1 dialog


CDlgProviderInfo1::CDlgProviderInfo1(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgProviderInfo1::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgProviderInfo1)
	//}}AFX_DATA_INIT
}


void CDlgProviderInfo1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgProviderInfo1)
	DDX_Control(pDX, IDC_PROVIDER1, m_provider);
	DDX_Control(pDX, IDC_PROVIDER_PHONE1, m_phone);
	DDX_Control(pDX, IDC_PROVIDER_EMAIL1, m_email);
	DDX_Control(pDX, IDC_PROVIDER_CEO1, m_corporation);
	DDX_Control(pDX, IDC_PROVIDER_ADDRESS1, m_addr);
	DDX_Control(pDX, IDC_NET_ADDRESS1, m_netaddr);
	DDX_Control(pDX, IDC_MANAGER1, m_principal);
	DDX_Control(pDX, IDC_LIST1, m_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgProviderInfo1, CDialog)
	//{{AFX_MSG_MAP(CDlgProviderInfo1)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgProviderInfo1 message handlers

BOOL CDlgProviderInfo1::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_list.ModifyStyle(0,LVS_SHOWSELALWAYS);
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_FLATSB);
	
	m_list.InsertColumn(0,"供应商名称",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"法人",LVCFMT_LEFT,80);
	m_list.InsertColumn(2,"负责人",LVCFMT_LEFT,80);
	m_list.InsertColumn(3,"联系电话",LVCFMT_LEFT,80);
	m_list.InsertColumn(4,"详细地址",LVCFMT_LEFT,100);
	m_list.InsertColumn(5,"网址",LVCFMT_LEFT,100);
	m_list.InsertColumn(6,"邮箱",LVCFMT_LEFT,100);

	LoadProviderInfo();//加载供应商信息	
	return TRUE;  
}

void CDlgProviderInfo1::LoadProviderInfo()
{
	m_list.DeleteAllItems();
	m_pRs->raw_Close();
	CString sql,temp;
	sql.Format("select * from tb_providerinfo");
	m_pRs = m_pCon->Execute((_bstr_t)sql,NULL,adCmdText);
	int row = 0;
	while (!m_pRs->adoEOF)
	{
		m_list.InsertItem(100,"");
		for (int i = 0; i<m_pRs->GetFields()->Count;i++)
		{
			temp = (TCHAR*)(_bstr_t)m_pRs->GetFields()->GetItem((long)i)->Value;
			m_list.SetItemText(row,i,temp);
		}		
		row +=1;
		m_pRs->MoveNext();
	}	
}

BOOL CDlgProviderInfo1::PreTranslateMessage(MSG* pMsg) 
{
	if (pMsg->message ==	WM_KEYDOWN)
		if (pMsg->wParam ==13)
			pMsg->wParam = 9;
	return CDialog::PreTranslateMessage(pMsg);
}

bool CDlgProviderInfo1::InfoIsNull()
{
	CWnd * temp;
	temp = this;
	CString text;
	for (int index = 0; index <7;index++)
	{
		temp = this->GetNextDlgTabItem(temp);
		temp->GetWindowText(text);
		if (text.IsEmpty())
			return true;
	}
	return false;
}

void CDlgProviderInfo1::AddProvider()
{
	if (InfoIsNull())
	{
		MessageBox("供应商信息不能为空.","提示",MB_OK|MB_ICONINFORMATION);
		return;
	}

	CString c_provider,c_principal,c_phone,c_corporation,c_addr,c_netaddr,c_email;
	m_addr.GetWindowText(c_addr);
	m_corporation.GetWindowText(c_corporation);
	m_email.GetWindowText(c_email);
	m_netaddr.GetWindowText(c_netaddr);
	m_phone.GetWindowText(c_phone);
	m_principal.GetWindowText(c_principal);
	m_provider.GetWindowText(c_provider);

	CString sql;
	sql.Format("Insert into tb_providerinfo values ( '%s','%s','%s','%s','%s','%s','%s')",c_provider,c_corporation,c_principal,c_phone,c_addr,c_netaddr,c_email);
	try
	{
		m_pRs->raw_Close();
		m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
		MessageBox("操作成功.","提示",MB_OK|MB_ICONINFORMATION);
		ClearInterface();
		LoadProviderInfo();
	}
	catch(...)
	{
		MessageBox("操作失败.","提示",MB_OK|MB_ICONERROR);
	}
}

void CDlgProviderInfo1::ClearInterface()
{
	CWnd * temp;
	temp = this;
	CString text;
	for (int index = 0; index <8;index++)
	{
		temp = this->GetNextDlgTabItem(temp);
		temp->SetWindowText("");
	}
}

void CDlgProviderInfo1::DeleteProvider()
{
	if (m_list.GetSelectionMark()!=-1)
	{
		if (MessageBox("确实要删除数据吗?","提示",MB_YESNO|MB_ICONINFORMATION)==IDYES)
		{
			int i = m_list.GetSelectionMark();
			CString c_provider = m_list.GetItemText(i,0);
			CString sql;
			sql.Format("delete tb_providerinfo where provider= '%s'",c_provider);
			m_pRs->raw_Close();
			try
			{
				m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
				ClearInterface();
				LoadProviderInfo();
				MessageBox("操作成功.","提示",64);
			}
			catch(...)
			{
				MessageBox("操作失败.","提示",MB_OK|MB_ICONERROR);
			}
		}
	}
	else
		MessageBox("请选择欲删除的信息.","提示",MB_OK|MB_ICONINFORMATION);
}

void CDlgProviderInfo1::UpdateProvider()
{
	if (!InfoIsNull())
	{
		if (m_list.GetSelectionMark()!=-1)
		{
			if (MessageBox("确实要修改数据吗?","提示",MB_YESNO|MB_ICONINFORMATION)==IDYES)
			{
				CString c_provider;
				c_provider = m_list.GetItemText(m_list.GetSelectionMark(),0);

				CString c_provider1,c_principal,c_phone,c_corporation,c_addr,c_netaddr,c_email;
				m_addr.GetWindowText(c_addr);
				m_corporation.GetWindowText(c_corporation);
				m_email.GetWindowText(c_email);
				m_netaddr.GetWindowText(c_netaddr);
				m_phone.GetWindowText(c_phone);
				m_principal.GetWindowText(c_principal);
				m_provider.GetWindowText(c_provider1);

				CString sql;
				sql.Format("update tb_providerinfo set provider ='%s',corporation = '%s',principal = '%s',phone = '%s',addr = '%s',web = '%s',e_mail = '%s' where provider = '%s' "
					,c_provider1,c_corporation,c_principal,c_phone,c_addr,c_netaddr,c_email,c_provider);
				m_pRs->raw_Close();
				try
				{
					m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
					ClearInterface();
					LoadProviderInfo();
					MessageBox("操作成功.","提示",64);
				}
				catch(...)
				{
					MessageBox("操作失败.","提示",MB_OK|MB_ICONERROR);
				}
			}
		}
		else
			MessageBox("请选择欲修改的信息.","提示",MB_OK|MB_ICONINFORMATION);
	}
	else
		MessageBox("基础信息不完整.","提示",MB_OK|MB_ICONINFORMATION);	
		
}

void CDlgProviderInfo1::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	int row = m_list.GetSelectionMark();
	if (row != -1)
	{
		CWnd * temp;
		temp = this;
		CString text;
		
		for (int index = 0; index <7;index++)
		{
			temp = this->GetNextDlgTabItem(temp);
			text = m_list.GetItemText(row,index);
			temp->SetWindowText(text);
		}
	}
	
//	*pResult = 0;
}

⌨️ 快捷键说明

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