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

📄 xuanshou.cpp

📁 由我为校教务处自主开发的竞赛计分软件。 该软件由“比赛信息管理”、“裁判信息管理”、“选手信息管理”、“比赛计分排序”等几个模块组成。基于MFC技术
💻 CPP
字号:
// xuanshou.cpp : 实现文件
//

#include "stdafx.h"
#include "计分程序 by WS.h"
#include "xuanshou.h"
#include ".\xuanshou.h"


// xuanshou 对话框

IMPLEMENT_DYNAMIC(xuanshou, CDialog)
xuanshou::xuanshou(CWnd* pParent /*=NULL*/)
	: CDialog(xuanshou::IDD, pParent)
{
	filename="xidian.bmp";
}

xuanshou::~xuanshou()
{
	db.databaseclose();
}

void xuanshou::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_STATIC_image, xuanshoutupian);
	DDX_Control(pDX, IDC_LIST1, saishi);
	DDX_Control(pDX, IDC_LIST2, xuanshoulist);
	DDX_Control(pDX, IDC_LIST3, xuanshouxuhaolist);
	DDX_Control(pDX, IDC_EDIT5, xuanshouxuhao);
	DDX_Control(pDX, IDC_EDIT1, saishixuhao);
	DDX_Control(pDX, IDC_STATIC_zhuangtai, zhuangtai);
	DDX_Control(pDX, IDC_EDIT3, xiangmu);
	DDX_Control(pDX, IDC_EDIT4, xuanshouming);
	DDX_Control(pDX, IDC_EDIT2, jianjie);
	DDX_Control(pDX, IDC_STATIC_zhuangtai1, zhuangtai1);
	DDX_Control(pDX, IDC_STATIC_xuanshoushu, xuanshoushu);
}


BEGIN_MESSAGE_MAP(xuanshou, CDialog)

	ON_STN_CLICKED(IDC_STATIC_image, OnStnClickedStaticimage)
	ON_LBN_SELCHANGE(IDC_LIST1, OnLbnSelchangeList1)
	ON_LBN_SELCHANGE(IDC_LIST2, OnLbnSelchangeList2)
	ON_STN_CLICKED(IDC_STATIC_zhuangtai, OnStnClickedStaticzhuangtai)
	ON_BN_CLICKED(IDCANCEL2, OnBnClickedCancel2)
	ON_BN_CLICKED(IDCANCEL3, OnBnClickedCancel3)
	ON_BN_CLICKED(IDCANCEL4, OnBnClickedCancel4)
END_MESSAGE_MAP()


// xuanshou 消息处理程序

void xuanshou::OnOK()
{
	// TODO: 在此添加专用代码和/或调用基类

}

BOOL xuanshou::OnInitDialog()
{
	CDialog::OnInitDialog();

	HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,_T("images\\xidian.bmp"),IMAGE_BITMAP,100,134,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
	xuanshoutupian.SetBitmap(hbitmap);
db.databaseconn();
	db.datasearcher();
	if(!db.getrs()->adoeof){
		CString tempsaishi;
		while(!db.getrs()->adoeof){
		tempsaishi=db.getrs()->GetFields()->GetItem("mingcheng")->GetValue();
		saishi.AddString(tempsaishi);
		db.getrs()->MoveNext();
		}
	}
	else{
		CString  names;
		names="暂时无记录";
		saishi.AddString(names);
		}
	// TODO:  在此添加额外的初始化
	

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

void xuanshou::OnLbnSelchangeList1()
{
	// TODO: 在此添加控件通知处理程序代码
	CString tempname,xuhaotemp;
	int tempindex = saishi.GetCurSel();
	if (tempindex!=LB_ERR){
	saishi.GetText(tempindex,tempname);
	zhuangtai1.SetWindowText(tempname);
	}
	CString sql="select * from saishi where mingcheng='"+tempname+"'";
	db.datasearcher(sql);
	if(!db.getrs()->adoeof){
			CString tsql;
			tempname=db.getrs()->GetFields()->GetItem("xuhao")->GetValue();
			saishixuhao.SetWindowText(tempname);
			xuanshoulist.ResetContent();
			xuanshouxuhaolist.ResetContent();
			xuanshouxuhao.SetWindowText("");
			saishixuhao.GetWindowText(tempname);
			sql="select * from xuanshou where suoshusaishi="+tempname+"";
			db.datasearcher(sql);
			while(!db.getrs()->adoeof){
					CString tsql;
					tempname=db.getrs()->GetFields()->GetItem("xiangmu")->GetValue();
					xuanshoulist.AddString(tempname);
					tempname=db.getrs()->GetFields()->GetItem("xuhao")->GetValue();
					xuanshouxuhaolist.AddString(tempname);
					db.getrs()->MoveNext();
		

}
}	
	CString txuanshoushu=_variant_t(xuanshouxuhaolist.GetCount());
	xuanshoushu.SetWindowText(txuanshoushu);
	

}





void xuanshou::OnStnClickedStaticimage()
{
	// TODO: 在此添加控件通知处理程序代码
	CFileDialog rform(true,"位图文件|*.bmp|");
	rform.DoModal();
	filename= rform.GetFileName();
	if (filename=="") filename="xidian.bmp";
	HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,_T("images\\"+filename),IMAGE_BITMAP,100,134,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
	xuanshoutupian.SetBitmap(hbitmap);
	zhuangtai.SetWindowText(filename);
	
}
void xuanshou::OnLbnSelchangeList2()
{
	// TODO: 在此添加控件通知处理程序代码
	CString tempname,xuhaotemp;
	int tempindex = xuanshoulist.GetCurSel();
	if (tempindex!=LB_ERR){
	xuanshouxuhaolist.GetText(tempindex,tempname);
	xuanshouxuhao.SetWindowText(tempname);
	}

	CString sql="select * from xuanshou where xuhao="+tempname+"";
	db.datasearcher(sql);
	if(!db.getrs()->adoeof){
			
			tempname=db.getrs()->GetFields()->GetItem("xiangmu")->GetValue();
			xiangmu.SetWindowText(tempname);
			tempname=db.getrs()->GetFields()->GetItem("xuanshou")->GetValue();
			xuanshouming.SetWindowText(tempname);
			filename=db.getrs()->GetFields()->GetItem("tupian")->GetValue();
			HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,_T("images\\"+filename),IMAGE_BITMAP,100,134,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
			xuanshoutupian.SetBitmap(hbitmap);
			tempname=db.getrs()->GetFields()->GetItem("jianjie")->GetValue();
			jianjie.SetWindowText(tempname);

			zhuangtai.SetWindowText("读取数据成功");

}
}

void xuanshou::OnStnClickedStaticzhuangtai()
{
	// TODO: 在此添加控件通知处理程序代码
}

void xuanshou::OnBnClickedCancel2()
{
	// TODO: 在此添加控件通知处理程序代码
	CString tempname,tempname1;
	saishixuhao.GetWindowText(tempname);
	if (tempname!=""){
	CString sql="select top 1 * from xuanshou";
	db.datasearcher(sql);
	db.getrs()->AddNew();
	xiangmu.GetWindowText(tempname1);
	if (tempname1!=""){
		try{
	db.getrs()->GetFields()->GetItem("xiangmu")->PutValue(_variant_t(tempname1));
	db.getrs()->GetFields()->GetItem("suoshusaishi")->PutValue(_variant_t(tempname));
	xuanshouming.GetWindowText(tempname);
	db.getrs()->GetFields()->GetItem("xuanshou")->PutValue(_variant_t(tempname));
	jianjie.GetWindowText(tempname);
	db.getrs()->GetFields()->GetItem("jianjie")->PutValue(_variant_t(tempname));
	db.getrs()->GetFields()->GetItem("tupian")->PutValue(_variant_t(filename));
	db.getrs()->Update();
	zhuangtai.SetWindowText("纪录添加成功");
	OnLbnSelchangeList1();
		}
		catch(_com_error e){
			zhuangtai.SetWindowText("数据添加失败,数据库访问出错");
		
		}
	}
	else{zhuangtai.SetWindowText("添加纪录失败,数据不完整");}
	}
	else{zhuangtai.SetWindowText("添加纪录失败,请选择赛事");}
	}
	


void xuanshou::OnBnClickedCancel3()
{
	// TODO: 在此添加控件通知处理程序代码
	CString tempname,tempname1,tempname2;
	saishixuhao.GetWindowText(tempname);
	xiangmu.GetWindowText(tempname1);
	xuanshouxuhao.GetWindowText(tempname2);	
	if (tempname!=""&&tempname1!=""&&tempname2!=""){
	CString sql="select top 1 * from xuanshou where xuhao ="+tempname2+"";;
	db.datasearcher(sql);
		try{
			db.getrs()->GetFields()->GetItem("xiangmu")->PutValue(_variant_t(tempname1));
			db.getrs()->GetFields()->GetItem("suoshusaishi")->PutValue(_variant_t(tempname));
			xuanshouming.GetWindowText(tempname);
			db.getrs()->GetFields()->GetItem("xuanshou")->PutValue(_variant_t(tempname));
			jianjie.GetWindowText(tempname);
			db.getrs()->GetFields()->GetItem("jianjie")->PutValue(_variant_t(tempname));
			db.getrs()->GetFields()->GetItem("tupian")->PutValue(_variant_t(filename));
			db.getrs()->Update();
			zhuangtai.SetWindowText("纪录修改成功");
			xuanshoulist.ResetContent();
			OnLbnSelchangeList1();
		}
		catch(_com_error e){
			zhuangtai.SetWindowText("数据修改失败,数据库访问出错");
		
		}
	}
	else{
		zhuangtai.SetWindowText("修改纪录失败,数据不完整");
	}
	
}

void xuanshou::OnBnClickedCancel4()
{
	// TODO: 在此添加控件通知处理程序代码
	CString tempname;
	xuanshouxuhao.GetWindowText(tempname);
	if(tempname!=""){

	CString sql="select top 1 * from xuanshou where xuhao ="+tempname+"";
	db.datasearcher(sql);
		try{
			db.getrs()->Delete(adAffectCurrent);
			


		sql="select * from chengji where suoshuxuanshou="+tempname+"";
				db.datasearcher(sql);
				if (!db.getrs()->adoeof){
				while (!db.getrs()->adoeof){
					db.getrs()->Delete(adAffectCurrent);
					db.getrs()->MoveNext();
				}
				}
				sql="select * from fenshu where suoshuxuanshou="+tempname+"";
				db.datasearcher(sql);
				if (!db.getrs()->adoeof){
				while (!db.getrs()->adoeof){
					db.getrs()->Delete(adAffectCurrent);
					db.getrs()->MoveNext();
					}	
				}
			zhuangtai.SetWindowText("纪录删除成功");
			xiangmu.SetWindowText("");
			xuanshouming.SetWindowText("");
			jianjie.SetWindowText("");
			xuanshouxuhao.SetWindowText("");
			HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,_T("images\\xidian.bmp"),IMAGE_BITMAP,100,134,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
			xuanshoutupian.SetBitmap(hbitmap);
			OnLbnSelchangeList1();

		}
		catch(_com_error e){
			zhuangtai.SetWindowText("数据删除失败,参数不足");
		
		}
	}

}

⌨️ 快捷键说明

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