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

📄 show.cpp

📁 < SQL SERVER 2000 案例教程>>,冶金工业出版社,这本书的代码
💻 CPP
字号:
// Show.cpp : implementation file
//

#include "stdafx.h"
#include "仓库管理系统.h"
#include "Show.h"

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

extern CDatabase m_database;
extern CAddMaterial* adddlg;
extern CMainDlg* MainDlg;
extern CSearchMaterial* searchdlg;
/////////////////////////////////////////////////////////////////////////////
// CShow dialog


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


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


BEGIN_MESSAGE_MAP(CShow, CDialog)
	//{{AFX_MSG_MAP(CShow)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CShow message handlers

BOOL CShow::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_List.InsertColumn(0,"物资号");
	m_List.InsertColumn(1,"物资名");
	m_List.InsertColumn(2,"数量");	
	m_List.InsertColumn(3,"备注");
	CRect r;
	m_List.GetWindowRect(&r); 
	int wid=r.Width();//取得List Control控件宽度
	for(int i=0;i<14;i++){
		m_List.SetColumnWidth(i,wid/3);//每个属性分配三分之一的宽度
	}
	//设置List Control控件属性,使其具有类似Excel的网格样式
	m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CShow::OnButton5() 
{
	MainDlg->ShowWindow(SW_SHOW);
	ShowWindow(SW_HIDE);
		
}
void CShow::OnRefreshData(CString sql){
	CString str;
	m_List.DeleteAllItems();
	CMessSet m_messset;
	char buf[100];
	m_messset.m_pDatabase=&m_database;
	m_messset.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
	//m_messset.MoveFirst();
	int i=0;
	while(!m_messset.IsEOF()){
		while(m_messset.IsDeleted()){
			m_messset.MoveNext();
		}
		str=itoa(m_messset.m_column1,buf,10);
		str.TrimRight();
		m_List.InsertItem(i,str);
		str=m_messset.m_column2;
		str.TrimRight();
		m_List.SetItemText(i,1,str);
		str.Format("%d",m_messset.m_column3);
		m_List.SetItemText(i,2,str);
		str=m_messset.m_column4;
		str.TrimRight();
		m_List.SetItemText(i,3,str);
		m_messset.MoveNext();
	}
}


void CShow::OnButton1() 
{
	adddlg->isupdate=false;
	adddlg->ShowWindow(SW_SHOW);
	
}

void CShow::OnButton2() 
{
	CString sql;
	CString item;
		int index=-1;
	char buf[100];
	if (m_List.GetNextItem(index,LVNI_SELECTED) == -1){
		MessageBox("请先选中一条记录");
		return;
	}
	int num;

	int preindex=-1;
	//删除List Control控件中选中的记录。
	while ((index = m_List.GetNextItem(preindex,LVNI_SELECTED)) != -1) {
		
		item=m_List.GetItemText(index,0);//从选中的记录中获取用户名
		try{
			//生成删除用户的SQL语句
			sql.Format("delete from 物资表 where 物资号='%s'",item);
			m_database.ExecuteSQL(sql);
		}
		catch(CDBException e1){
			AfxMessageBox("数据库操作失败");
		}
		catch(CMemoryException e2){
			AfxMessageBox("数据库操作失败");
		}
		preindex=index;

	}
	//更新显示数据
	sql="select * from 物资表 order by 物资号";
	this->OnRefreshData(sql);
	OnPaint();	
}

void CShow::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	
	if(MessageBox("确定退出系统1?","提醒",MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)!=IDNO){
		exit(0);
	}
}

void CShow::OnButton3() 
{
	CString sql;
	CString item;
		int index=-1;
	char buf[100];
	if (index=m_List.GetNextItem(index,LVNI_SELECTED) == -1){
		MessageBox("请先选中一条记录");
		return;
	}
	int preindex=-1;
	while ((index = m_List.GetNextItem(preindex,LVNI_SELECTED)) != -1) {
		adddlg->itemnum=m_List.GetItemText(index,0);
		
		adddlg->m_name=m_List.GetItemText(index,1);
		adddlg->m_num=atoi(m_List.GetItemText(index,2));
		adddlg->m_mark=m_List.GetItemText(index,3);
		adddlg->isupdate=true;
		adddlg->UpdateData(FALSE);
		adddlg->ShowWindow(SW_SHOW);
		preindex=index;
		break;	
	
	}
	
}

void CShow::OnButton4() 
{
	searchdlg->ShowWindow(SW_SHOW);
	
}

⌨️ 快捷键说明

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