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

📄 queryfree.cpp

📁 超声影像工作站系统可与各种型号的B超、彩超连接
💻 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 + -