📄 scsearch.cpp
字号:
// SCSearch.cpp : implementation file
//
#include "stdafx.h"
#include "SC.h"
#include "SCSearch.h"
#include "SC1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSCSearch dialog
CSCSearch::CSCSearch(CWnd* pParent /*=NULL*/)
: CDialog(CSCSearch::IDD, pParent)
{
//{{AFX_DATA_INIT(CSCSearch)
m_strCcredit = _T("");
m_strCname = _T("");
m_strCno = _T("");
m_strCpno = _T("");
m_strSage = _T("");
m_strSdept = _T("");
m_strSname = _T("");
m_strSno = _T("");
m_strSCGrade = _T("");
//}}AFX_DATA_INIT
}
void CSCSearch::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSCSearch)
DDX_Text(pDX, IDC_CSEARCH_CREDIT, m_strCcredit);
DDX_Text(pDX, IDC_CSEARCH_NAME, m_strCname);
DDX_Text(pDX, IDC_CSEARCH_NO, m_strCno);
DDX_Text(pDX, IDC_CSEARCH_PNO, m_strCpno);
DDX_Text(pDX, IDC_SSEARCH_AGE, m_strSage);
DDX_Text(pDX, IDC_SSEARCH_DEPT, m_strSdept);
DDX_Text(pDX, IDC_SSEARCH_NAME, m_strSname);
DDX_Text(pDX, IDC_SSEARCH_NO, m_strSno);
DDX_Text(pDX, IDC_SCSEARCH_GRADE, m_strSCGrade);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSCSearch, CDialog)
//{{AFX_MSG_MAP(CSCSearch)
ON_BN_CLICKED(IDC_S_SEARCH, OnSSearch)
ON_BN_CLICKED(IDC_S_RESET, OnSReset)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSCSearch message handlers
void CSCSearch::OnSSearch()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CComboBox *ssex=(CComboBox*)GetDlgItem(IDC_SSEARCH_SEX);
CComboBox *sno2=(CComboBox*)GetDlgItem(IDC_SSEARCH_NO_2);
CComboBox *sage2=(CComboBox*)GetDlgItem(IDC_SSEARCH_AGE_2);
CComboBox *cno2=(CComboBox*)GetDlgItem(IDC_CSEARCH_NO_2);
CComboBox *cpno2=(CComboBox*)GetDlgItem(IDC_CSEARCH_PNO_2);
CComboBox *ccredit2=(CComboBox*)GetDlgItem(IDC_CSEARCH_CREDIT_2);
CComboBox *scgrade2=(CComboBox*)GetDlgItem(IDC_SCSEARCH_GRADE_2);
CString strSsex,strSno2,strSage2,strCno2,strCpno2,strCcredit2,strSCGrade2;
ssex->GetLBText(ssex->GetCurSel(),strSsex);
sno2->GetLBText(sno2->GetCurSel(),strSno2);
sage2->GetLBText(sage2->GetCurSel(),strSage2);
cno2->GetLBText(cno2->GetCurSel(),strCno2);
cpno2->GetLBText(cpno2->GetCurSel(),strCpno2);
ccredit2->GetLBText(ccredit2->GetCurSel(),strCcredit2);
scgrade2->GetLBText(scgrade2->GetCurSel(),strSCGrade2);
CString temp[3];
CString table[2]={",Student",",Course"};
if(m_strSno.IsEmpty()==1&&m_strSname.IsEmpty()==1&&m_strSage.IsEmpty()==1
&&strSsex.IsEmpty()==1&&m_strSdept.IsEmpty()==1&&m_strCno.IsEmpty()==1
&&m_strCname.IsEmpty()==1&&m_strCpno.IsEmpty()==1&&m_strCcredit.IsEmpty()==1
&&m_strSCGrade.IsEmpty()==1) return;
m_SQL="SELECT SC.Sno,SC.Cno,SC.Grade FROM SC";
if(m_strSno.IsEmpty()!=1||m_strSname.IsEmpty()!=1||m_strSage.IsEmpty()!=1
||strSsex.IsEmpty()!=1||m_strSdept.IsEmpty()!=1)
{
temp[0]="SC.Sno=Student.Sno AND ";
int i=0;
CString str[5];
if(m_strSno.IsEmpty()==0)
{
str[i]="Student.Sno"+strSno2+m_strSno;
i++;
}
if(m_strSname.IsEmpty()==0)
{
str[i]="Sname='"+m_strSname+"'";
i++;
}
if(m_strSage.IsEmpty()==0)
{
str[i]="Sage"+strSage2+m_strSage;
i++;
}
if(strSsex.IsEmpty()==0)
{
str[i]="Ssex='"+strSsex+"'";
i++;
}
if(m_strSdept.IsEmpty()==0)
{
str[i]="Sdept='"+m_strSdept+"'";
i++;
}
for(i=0;i<5;i++)
{
if(i==0)
if(str[i].IsEmpty()==0) temp[0]+=str[i];
if(i!=0)
{
if(str[i].IsEmpty()==0)
{
temp[0]+=" AND ";
temp[0]+=str[i];
}
}
}
m_SQL+=table[0];
}
if(m_strCno.IsEmpty()!=1||m_strCname.IsEmpty()!=1||m_strCpno.IsEmpty()!=1
||m_strCcredit.IsEmpty()!=1)
{
temp[1]="SC.Cno=Course.Cno AND ";
int i=0;
CString str[4];
if(m_strCno.IsEmpty()==0)
{
str[i]="Course.Cno"+strCno2+m_strCno;
i++;
}
if(m_strCname.IsEmpty()==0)
{
str[i]="Cname='"+m_strCname+"'";
i++;
}
if(m_strCpno.IsEmpty()==0)
{
str[i]="Cpno"+strCpno2+m_strCpno;
i++;
}
if(m_strCcredit.IsEmpty()==0)
{
str[i]="Ccredit"+strCcredit2+m_strCcredit;
i++;
}
for(i=0;i<4;i++)
{
if(i==0)
if(str[i].IsEmpty()==0) temp[1]+=str[i];
if(i!=0)
{
if(str[i].IsEmpty()==0) temp[1]+=" AND "+str[i];
}
}
m_SQL+=table[1];
}
m_SQL+=" WHERE ";
if(m_strSCGrade.IsEmpty()==0)
{
temp[2]+="Grade"+strSCGrade2+m_strSCGrade;
}
for(int i=0;i<3;i++)
{
if(i==0)
if(temp[i].IsEmpty()==0) m_SQL+=temp[i];
if(i!=0)
{
if(temp[i].IsEmpty()==0)
{
if(i==1)
{
if(temp[i-1].IsEmpty()==0) m_SQL+=" AND "+temp[i];
else m_SQL+=temp[i];
}
if(i==2)
{
if(temp[i-1].IsEmpty()==0||temp[i-2].IsEmpty()==0) m_SQL+=" AND "+temp[i];
else m_SQL+=temp[i];
}
}
}
}
MessageBox(m_SQL);
CSC *pMain=(CSC*)AfxGetApp()->GetMainWnd();
pMain->m_strSQL=m_SQL;
this->EndDialog(0);
}
void CSCSearch::OnSReset()
{
// TODO: Add your control notification handler code here
CComboBox *ssex=(CComboBox*)GetDlgItem(IDC_SSEARCH_SEX);
CComboBox *sno2=(CComboBox*)GetDlgItem(IDC_SSEARCH_NO_2);
CComboBox *sage2=(CComboBox*)GetDlgItem(IDC_SSEARCH_AGE_2);
CComboBox *cno2=(CComboBox*)GetDlgItem(IDC_CSEARCH_NO_2);
CComboBox *cpno2=(CComboBox*)GetDlgItem(IDC_CSEARCH_PNO_2);
CComboBox *ccredit2=(CComboBox*)GetDlgItem(IDC_CSEARCH_CREDIT_2);
CComboBox *scgrade2=(CComboBox*)GetDlgItem(IDC_SCSEARCH_GRADE_2);
ssex->SetCurSel(0);
sno2->SetCurSel(0);
sage2->SetCurSel(0);
cno2->SetCurSel(0);
cpno2->SetCurSel(0);
ccredit2->SetCurSel(0);
scgrade2->SetCurSel(0);
CEdit *sname=(CEdit*)GetDlgItem(IDC_SSEARCH_NAME);
CEdit *sno=(CEdit*)GetDlgItem(IDC_SSEARCH_NO);
CEdit *sage=(CEdit*)GetDlgItem(IDC_SSEARCH_AGE);
CEdit *sdept=(CEdit*)GetDlgItem(IDC_SSEARCH_DEPT);
CEdit *cname=(CEdit*)GetDlgItem(IDC_CSEARCH_NAME);
CEdit *cno=(CEdit*)GetDlgItem(IDC_CSEARCH_NO);
CEdit *ccredit=(CEdit*)GetDlgItem(IDC_CSEARCH_CREDIT);
CEdit *cpno=(CEdit*)GetDlgItem(IDC_CSEARCH_PNO);
CEdit *scgrade=(CEdit*)GetDlgItem(IDC_SCSEARCH_GRADE);
sname->SetWindowText("");
sno->SetWindowText("");
sage->SetWindowText("");
sdept->SetWindowText("");
cname->SetWindowText("");
cno->SetWindowText("");
ccredit->SetWindowText("");
cpno->SetWindowText("");
scgrade->SetWindowText("");
}
BOOL CSCSearch::OnInitDialog()
{
CDialog::OnInitDialog();
CComboBox *ssex=(CComboBox*)GetDlgItem(IDC_SSEARCH_SEX);
CComboBox *sno2=(CComboBox*)GetDlgItem(IDC_SSEARCH_NO_2);
CComboBox *sage2=(CComboBox*)GetDlgItem(IDC_SSEARCH_AGE_2);
CComboBox *cno2=(CComboBox*)GetDlgItem(IDC_CSEARCH_NO_2);
CComboBox *cpno2=(CComboBox*)GetDlgItem(IDC_CSEARCH_PNO_2);
CComboBox *ccredit2=(CComboBox*)GetDlgItem(IDC_CSEARCH_CREDIT_2);
CComboBox *scgrade2=(CComboBox*)GetDlgItem(IDC_SCSEARCH_GRADE_2);
ssex->SetCurSel(0);
sno2->SetCurSel(0);
sage2->SetCurSel(0);
cno2->SetCurSel(0);
cpno2->SetCurSel(0);
ccredit2->SetCurSel(0);
scgrade2->SetCurSel(0);
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -