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

📄 querydialog.cpp

📁 这是目前正应用于辽宁省很多县级中学的试题库系统源代码
💻 CPP
字号:
// QueryDialog.cpp : implementation file
//

#include "stdafx.h"
#include "TestPaper.h"
#include "XinQueryDialog.h"
#include "QueryRESULTDialog.h"
#include "MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CQueryDialog dialog


CQueryDialog::CQueryDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CQueryDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CQueryDialog)
	m_Queryedit1 = _T("");
	m_Querybox1 = _T("");
	m_Querybox2 = _T("");
	//}}AFX_DATA_INIT
}


void CQueryDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CQueryDialog)
	DDX_Control(pDX, IDC_COMBO5, m_conQuery5);
	DDX_Control(pDX, IDC_COMBO2, m_conQuery2);
	DDX_Control(pDX, IDC_CHECK6, m_check6);
	DDX_Control(pDX, IDC_CHECK5, m_check5);
	DDX_Control(pDX, IDC_CHECK2, m_check2);
	DDX_Control(pDX, IDC_CHECK1, m_check1);
	DDX_Text(pDX, IDC_EDIT1, m_Queryedit1);
	DDX_CBString(pDX, IDC_COMBO1, m_Querybox1);
	DDX_CBString(pDX, IDC_COMBO2, m_Querybox2);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CQueryDialog, CDialog)
	//{{AFX_MSG_MAP(CQueryDialog)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_CHECK5, OnCheck5)
	ON_BN_CLICKED(IDC_CHECK6, OnCheck6)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryDialog message handlers

void CQueryDialog::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

BOOL CQueryDialog::OnInitDialog() //初始化
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON14);
	this->SendMessage(WM_SETICON,ICON_BIG,(LPARAM)hIcon);
	GetDlgItem(IDC_EDIT1)->EnableWindow(false);
	GetDlgItem(IDC_COMBO2)->EnableWindow(false);
	GetDlgItem(IDC_COMBO1)->EnableWindow(false);
	checkbool1=FALSE;
	checkbool2=FALSE;
	checkbool5=FALSE;
	checkbool6=FALSE;


	CStdioFile MyFile;
	CString str;
	
	MyFile.Open("外部接口\\题库管理之学科名称.txt",CFile::modeRead|CFile::typeText);
	MyFile.SeekToBegin();
	while(MyFile.ReadString(str))
	{
		if(str!="")
		{
		m_conQuery5.AddString(str); 
		str.Empty();
		}
	}
	MyFile.Close();
	str.Empty();

	MyFile.Open("外部接口\\题库管理之考试对象.txt",CFile::modeRead|CFile::typeText);
	MyFile.SeekToBegin();
	while(MyFile.ReadString(str))
	{
		if(str!="")
		{
		m_conQuery2.AddString(str); 
		str.Empty();
		}
	}
	MyFile.Close();

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

void CQueryDialog::OnOK()//查询题目 
{
	// TODO: Add extra validation here
	
	CMainFrame* pMainFrame=(CMainFrame*) AfxGetMainWnd();
	UpdateData(TRUE);
    CString tempstr;
	CString tempstr2;
	CString strSQL;
	strSQL.Empty();
	pMainFrame->m_wndAddress1.GetLBText(pMainFrame->m_wndAddress1.GetCurSel(),tempstr);
	tempstr.TrimLeft("   ");
    pMainFrame->m_wndAddress2.GetLBText(pMainFrame->m_wndAddress2.GetCurSel(),tempstr2);
	tempstr2.TrimLeft("   ");
	CString tempSQL;
	tempSQL.Empty();
    if(m_check6.GetCheck()==1 && m_Queryedit2!="")
	{
		checkbool6=TRUE;
	}
	else
	{
		checkbool6=FALSE;
	}
	if(m_check1.GetCheck()==1 && m_Queryedit1!="")
	{
		checkbool1=TRUE;
	}
	else
	{
		checkbool1=FALSE;
	}
   
	if(m_check2.GetCheck()==1 && m_Querybox2!="")
	{
		checkbool2=TRUE;
	}
	else
	{
		checkbool2=FALSE;
	}
	if(m_check5.GetCheck()==1 && m_Querybox1!="")
	{
		checkbool5=TRUE;
	}
	else
	{
		checkbool5=FALSE;
	}
	if(checkbool1==FALSE && checkbool2==FALSE && checkbool5==FALSE && checkbool6==FALSE)
	{
		AfxMessageBox("请输入查询条件!");
		return;
	}
	if(m_check1.GetCheck()==1 && m_Queryedit1!="")
	{
	   strSQL.Format("select * from %s%s where 题目编号="+m_Queryedit1+"",tempstr,tempstr2);
	}
	else
	{
		   if(m_check6.GetCheck()==1 && m_Queryedit2!="")
		   {
			   strSQL.Format("select * from %s%s where 题目内容 like '*"+m_Queryedit2+"*'",tempstr,tempstr2);
		   }
		   else
		   {
			   if(checkbool2==TRUE && checkbool5==FALSE)
			   {
			   strSQL.Format("select * from %s%s where 考试对象='"+m_Querybox2+"'",tempstr,tempstr2);
			   }
		       if(checkbool2==TRUE && checkbool5==TRUE)
			   {
			   strSQL.Format("select * from %s%s where 考试对象='"+m_Querybox2+"' and 难度级别="+m_Querybox1+"",tempstr,tempstr2);
			   }
		       if(checkbool2==FALSE && checkbool5==TRUE)
			   {
			   strSQL.Format("select * from %s%s where 难度级别="+m_Querybox1+"",tempstr,tempstr2);
			   }
		   }
	}
	try
	{
		if(pMainFrame->m_queryset.IsOpen())
		{
			pMainFrame->m_queryset.Close();
            pMainFrame->m_queryset.Open(CRecordset::dynaset,strSQL);
		}
		else
		{
			pMainFrame->m_queryset.Open(CRecordset::dynaset,strSQL);
		}
	}
	catch(...)
	{
		AfxMessageBox("cann't open table!");
		return;
	}
	if(pMainFrame->m_queryset.GetRecordCount()==0)
	{
		AfxMessageBox("对不起,无查询结果!");
		return;
	}
	CDialog::OnOK();
	CQueryRESULTDialog  redlg;
	redlg.DoModal();
}

void CQueryDialog::OnCheck1() 
{
	// TODO: Add your control notification handler code here
	
	if(m_check1.GetCheck()==1)
		GetDlgItem(IDC_EDIT1)->EnableWindow(true);
	if(m_check1.GetCheck()==0)
		GetDlgItem(IDC_EDIT1)->EnableWindow(false);
}

void CQueryDialog::OnCheck2() 
{
	// TODO: Add your control notification handler code here
        if(m_check2.GetCheck()==1)
		   GetDlgItem(IDC_COMBO2)->EnableWindow(true);
	    if(m_check2.GetCheck()==0)
		   GetDlgItem(IDC_COMBO2)->EnableWindow(false);
	
}


void CQueryDialog::OnCheck5() 
{
	// TODO: Add your control notification handler code here
	if(m_check5.GetCheck()==1)
		GetDlgItem(IDC_COMBO1)->EnableWindow(true);
	if(m_check5.GetCheck()==0)
		GetDlgItem(IDC_COMBO1)->EnableWindow(false);
}

void CQueryDialog::OnCheck6() 
{
	// TODO: Add your control notification handler code here
	if(m_check6.GetCheck()==1)
		GetDlgItem(IDC_EDIT2)->EnableWindow(true);
	if(m_check6.GetCheck()==0)
		GetDlgItem(IDC_EDIT2)->EnableWindow(false);
	
}

⌨️ 快捷键说明

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