📄 queryfree.cpp
字号:
// QueryFree.cpp : implementation file
//
#include "stdafx.h"
#include "bxt.h"
#include "QueryFree.h"
#include "bxtDlg.h"
#include "Query.h"
#include "QueryOrder.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// QueryFree dialog
QueryFree::QueryFree(CWnd* pParent /*=NULL*/)
: CDialog(QueryFree::IDD, pParent)
{
//{{AFX_DATA_INIT(QueryFree)
m_name = _T("");
m_sex = _T("");
m_class = _T("");
m_illname = _T("");
m_checkpos = _T("");
m_age1 = _T("");
m_age2 = _T("");
m_age3 = _T("");
//}}AFX_DATA_INIT
}
void QueryFree::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(QueryFree)
DDX_Text(pDX, IDC_EDIT1, m_name);
DDX_Text(pDX, IDC_EDIT2, m_sex);
DDX_Text(pDX, IDC_EDIT6, m_class);
DDX_Text(pDX, IDC_EDIT8, m_illname);
DDX_Text(pDX, IDC_EDIT9, m_checkpos);
DDX_Text(pDX, IDC_EDIT3, m_age1);
DDX_Text(pDX, IDC_EDIT4, m_age2);
DDX_Text(pDX, IDC_EDIT5, m_age3);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(QueryFree, CDialog)
//{{AFX_MSG_MAP(QueryFree)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// QueryFree message handlers
void QueryFree::OnClose()
{
// TODO: Add your message handler code here and/or call default
CDialog::OnClose();
}
// 模糊查询
void QueryFree::OnButton1()
{
CString datawhere = ((CBxtDlg *)AfxGetMainWnd())->querytime->MakeDataSQL();
CString sql;
int age1,age2,age3,baselen;
char buf[10];
sql = "SELECT ID,NAME,SEX,AGE,CLASS,ILLNAME,CHECKPOS,CHECKDATE ";
sql += "FROM REPORT ";
sql += "WHERE ";
baselen = sql.GetLength();
if (!datawhere.IsEmpty())
{
sql += datawhere;
sql += " AND ";
}
UpdateData(true);
// 年龄大于
if (!m_age1.IsEmpty())
{
age1 = atoi(m_age1);
m_age1 = itoa(age1,buf,10);
sql += " AGE>";
sql += m_age1;
sql += " AND ";
}
// 年龄等于
if (!m_age2.IsEmpty())
{
age2 = atoi(m_age2);
m_age2 = itoa(age2,buf,10);
sql += " AGE=";
sql += m_age2;
sql += " AND ";
}
// 年龄小于
if (!m_age3.IsEmpty())
{
age3 = atoi(m_age3);
m_age3 = itoa(age3,buf,10);
sql += " AGE<";
sql += m_age3;
sql += " AND ";
}
// 检查部位
if (!m_checkpos.IsEmpty())
{
sql += " CHECKPOS='";
sql += m_checkpos;
sql += "' AND ";
}
// 科别
if (!m_class.IsEmpty())
{
sql += " CLASS='";
sql += m_class;
sql += "' AND ";
}
// 病名
if (!m_illname.IsEmpty())
{
sql += " ILLNAME='";
sql += m_illname;
sql += "' AND ";
}
// 姓名
if (!m_name.IsEmpty())
{
sql += " NAME LIKE '%";
sql += m_name;
sql += "%'";
sql += " AND ";
}
// 性别
if (!m_sex.IsEmpty())
{
sql += " SEX='";
sql += m_sex;
sql += "'";
sql += " AND ";
}
UpdateData(false);
if (sql.GetLength() == baselen)
{
sql = sql.Left(sql.GetLength() - 6); // Get Rid Of "WHERE "
}
else
{
sql = sql.Left(sql.GetLength() - 4); // Get Rid Of "AND ";
}
CString order;
order = ((CBxtDlg *)AfxGetMainWnd())->queryorder->MakeSortSQL();
if (!order.IsEmpty())
{
sql += "ORDER BY ";
sql += order;
}
#ifdef _DEBUG
AfxMessageBox(sql);
#endif
(((CBxtDlg*)AfxGetMainWnd())->query)->SendMessage(WX_QUERY,0,(LPARAM)sql.GetBuffer(sql.GetLength()));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -