📄 csingleslg.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 + -