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

📄 csingleslg.cpp

📁 是学生管理系统,本年的数据库作业,是本人完成的第一个管理系统.
💻 CPP
字号:
// csingleslg.cpp : implementation file
//

#include "stdafx.h"
#include "Database1.h"
#include "csingleslg.h"

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

/////////////////////////////////////////////////////////////////////////////
// csingleslg dialog

extern CDatabase1App theApp;
csingleslg::csingleslg(CWnd* pParent /*=NULL*/)
	: CDialog(csingleslg::IDD, pParent)
{
	//{{AFX_DATA_INIT(csingleslg)
	m_Sno = _T("");
	m_Sname = _T("");
	//}}AFX_DATA_INIT
}


void csingleslg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(csingleslg)
	DDX_Control(pDX, IDC_SHOW, m_Stu);
	DDX_Text(pDX, IDC_EDIT1, m_Sno);
	DDX_Text(pDX, IDC_EDIT2, m_Sname);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(csingleslg, CDialog)
	//{{AFX_MSG_MAP(csingleslg)
	ON_BN_CLICKED(IDC_SEARCH, OnSearch)
	ON_NOTIFY(NM_CLICK, IDC_SHOW, OnClickShow)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// csingleslg message handlers

void csingleslg::OnSearch() 
{//执行查找学生表指令的函数
UpdateData(TRUE);
	//now i can receive the code or words from the dialog;
CString Ssex,Sname,Sage,Sclass,Sno;
if(m_Sno==""&&m_Sname=="")
AfxMessageBox("进行查询操作前,请输入一个姓名或者学号,否则无法进行查询。如果需要全体浏览,请选择菜单中的整体浏览选项。\nI'M SORRY,YOU SHOULD ENTER A STUDENT'S NO. OR NAME BEFORE CALLING ME FOR REFERENCE SERVICE.");
else if(m_Sno!="")
  {CRecordset rs(theApp.GetDBConnect());
   CString sql;
   sql.Format("SELECT DISTINCT XH,XM,XB,NL,BJ FROM stutable WHERE XH='%s'",m_Sno);
   //执行查询
   rs.Open(CRecordset::dynaset,sql,CRecordset::executeDirect);
   if(rs.GetRecordCount()==0)
   {AfxMessageBox("对不起,查无此人。\nFAILED TO FIND THE STUDENT WITH THIS NO.");}
   else 
		{
			rs.GetFieldValue("XM",Sname);
			if(Sname!=m_Sname)
			{AfxMessageBox("对不起,您输入的姓名和学号不一致,以下是按照学号查询出的结果。\n如果不是您想要的结果,建议您使用按姓名查询,注意不要输入学号。");}
			m_Stu.DeleteAllItems();
			rs.GetFieldValue("XH",Sno);
			
			rs.GetFieldValue("XB",Ssex);
			rs.GetFieldValue("NL",Sage);
			rs.GetFieldValue("BJ",Sclass);

	
			m_Stu.InsertItem(0,Sno);
			m_Stu.SetItemText(0,1,Sname);
			m_Stu.SetItemText(0,2,Ssex);
			m_Stu.SetItemText(0,3,Sage);
			m_Stu.SetItemText(0,4,Sclass);	
       }
		rs.Close();

  }
else if(m_Sno=="")
  {CRecordset rs(theApp.GetDBConnect());
   CString sql;
   sql.Format("SELECT XH,XM,XB,NL,BJ FROM stutable WHERE XM='%s'",m_Sname);
   //执行查询,注意,有可能重名
   rs.Open(CRecordset::dynaset,sql,CRecordset::executeDirect);
   if(rs.GetRecordCount()==0)
     {AfxMessageBox("对不起,查无此人。\nFAILED TO FIND THE STUDENT WITH THIS NO.");}
   else 
		{
			m_Stu.DeleteAllItems();
			rs.GetFieldValue("XH",Sno);
			rs.GetFieldValue("XM",Sname);
			rs.GetFieldValue("XB",Ssex);
			rs.GetFieldValue("NL",Sage);
			rs.GetFieldValue("BJ",Sclass);
	
			m_Stu.InsertItem(0,Sno);
			m_Stu.SetItemText(0,1,Sname);
			m_Stu.SetItemText(0,2,Ssex);
			m_Stu.SetItemText(0,3,Sage);
			m_Stu.SetItemText(0,4,Sclass);	
		}
		rs.Close();
  }
 


}

//DEL BOOL csingleslg::IniDlg()
//DEL {
//DEL 
//DEL 	
//DEL }

BOOL csingleslg::OnInitDialog()
{

	CDialog::OnInitDialog();
	long lStyleOld,lStyle;
	lStyle=LVS_REPORT;
	lStyleOld = GetWindowLong(m_Stu.m_hWnd, GWL_STYLE);
	lStyleOld &= ~(LVS_TYPEMASK);  // 取消所有显示风格
	lStyleOld |= lStyle;        // 设置新的风格
	SetWindowLong(m_Stu.m_hWnd, GWL_STYLE, lStyleOld);

	m_Stu.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
	m_Stu.DeleteAllItems();
	m_Stu.InsertColumn(0,"学号",LVCFMT_LEFT,-1,-1);
	m_Stu.InsertColumn(1,"姓名",LVCFMT_LEFT,-1,-1);
	m_Stu.InsertColumn(2,"性别",LVCFMT_LEFT,-1,-1);
	m_Stu.InsertColumn(3,"年龄",LVCFMT_LEFT,-1,-1);
	m_Stu.InsertColumn(4,"班级",LVCFMT_LEFT,-1,-1);

	m_Stu.SetColumnWidth(0,80);
	m_Stu.SetColumnWidth(1,80);
	m_Stu.SetColumnWidth(2,80);
	m_Stu.SetColumnWidth(3,80);
	m_Stu.SetColumnWidth(4,80);
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void csingleslg::OnClickShow(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

⌨️ 快捷键说明

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