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

📄 querydlg.cpp

📁 单片机gsm模块
💻 CPP
字号:
// QueryDlg.cpp : implementation file
//

#include "stdafx.h"
#include "smstest.h"
#include "QueryDlg.h"

#include "MyRecordSet.h"
#include "RalationShip.h"

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

/////////////////////////////////////////////////////////////////////////////
// CQueryDlg dialog


CQueryDlg::CQueryDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CQueryDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CQueryDlg)
	m_Name = _T("");
	m_PhoneNo = _T("");

	//}}AFX_DATA_INIT
//	m_NameTemp ="无名";
}


void CQueryDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CQueryDlg)
	DDX_Control(pDX, IDC_LIST4, m_CListCtrl);
	DDX_Text(pDX, IDC_EDIT1, m_Name);
	DDX_Text(pDX, IDC_EDIT2, m_PhoneNo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CQueryDlg, CDialog)
	//{{AFX_MSG_MAP(CQueryDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryDlg message handlers


BOOL CQueryDlg::OnInitDialog() 
{
	// TODO: Add extra initialization here
	CDialog::OnInitDialog();

	m_CListCtrl.InsertColumn(0, "姓名", LVCFMT_LEFT, 100);
	m_CListCtrl.InsertColumn(1, "号码", LVCFMT_LEFT, 100);
	m_CListCtrl.InsertColumn(2, "时间", LVCFMT_LEFT, 140);
	m_CListCtrl.InsertColumn(3, "消息内容", LVCFMT_LEFT, 500);

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


void CQueryDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	UpdateData();    //很重要
	m_CListCtrl.DeleteAllItems();
    int nItemCount = m_CListCtrl.GetItemCount();
	int test1,test2;
			
	// 插入新消息
//	m_CListCtrl.InsertItem(nItemCount, "崔鹏飞");
//	m_CListCtrl.SetItemText(nItemCount, 1, "13811713475");
//	m_CListCtrl.SetItemText(nItemCount, 2, "2008-01-11");
//	m_CListCtrl.SetItemText(nItemCount, 3, "这是一个测试");

  CDatabase db;
	CMyRecordSet *PersonRecord = NULL;
	CRalationShip *RalationShip = NULL;

	if(!db.Open( _T("ODBC;DSN=Mydb1"), FALSE, FALSE, _T("[SmsIfo]") ) )
	{
	  PersonRecord = new CMyRecordSet();
	  PersonRecord->Open();
 	    
	    RalationShip = new CRalationShip();
	    RalationShip->Open();
		/////////////////////////////////////////////////////////////////////////////
		//文本框处理
		/////////////////////////////////////////////////////////////////////////////
        test1 = m_Name.GetLength();
	    test2 = m_PhoneNo.GetLength();

		if( test1 == 0 && test2 == 0)
		{
			MessageBox("请输入查询姓名或者号码");
			return;
		}
	    if (test1 != 0 && test2 != 0)
		{
			MessageBox("只能输入其中之一");
			return;
		}

		if(PersonRecord->IsBOF())
		{
			MessageBox("短信内容库空!");
			return;
		}
		if(RalationShip->IsBOF())
		{
			MessageBox("电话本库空!");
			return;
		}

//////////////////////////////////////////////////////////////////////////////////////////////////////
		if(test1 != 0 && test2 == 0)
		{
			RalationShip->MoveFirst();
			do
			{
				if(RalationShip->m_Name == m_Name)
				{
					m_NameTemp = RalationShip->m_Name;
					m_PhoneNoTemp = RalationShip->m_Ph_No;
					/////////////////////////////////////////////////////
					//根据姓名查找号码
					////////////////////////////////////////////////////
					PersonRecord->MoveFirst();
					do
					{
					 if(m_PhoneNoTemp == PersonRecord->m_Ph_Nomber)
					 {
						 m_IfoTemp = PersonRecord->m_Sm_Ifo;
						 m_TimeTemp = PersonRecord->m_Time;
					 
					     /////////////////////////////////////////////////////
					     //显示查询结果项目
				         /////////////////////////////////////////////////////
					     m_CListCtrl.InsertItem(nItemCount, m_NameTemp);
					     m_CListCtrl.SetItemText(nItemCount, 1, m_PhoneNoTemp);
					     m_CListCtrl.SetItemText(nItemCount, 2, m_TimeTemp);
					     m_CListCtrl.SetItemText(nItemCount, 3, m_IfoTemp);
					 }
					  PersonRecord->MoveNext();

					}while(!PersonRecord->IsEOF());		      
				      return;
				}

             RalationShip->MoveNext();
			}while(!RalationShip->IsEOF());
            MessageBox("数据库中没有这个人名!");
			return;
		}
////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////
		else if(test1 == 0 && test2 != 0)
		{
			RalationShip->MoveFirst();
			do
			{
				if(RalationShip->m_Ph_No == m_PhoneNo)
				{
					m_NameTemp = RalationShip->m_Name;
					m_PhoneNoTemp = RalationShip->m_Ph_No;
					/////////////////////////////////////////////////////
					//根据姓名查找号码
					////////////////////////////////////////////////////
					PersonRecord->MoveFirst();
					do
					{
					 if(m_PhoneNoTemp == PersonRecord->m_Ph_Nomber)
					 {
						 m_IfoTemp = PersonRecord->m_Sm_Ifo;
						 m_TimeTemp = PersonRecord->m_Time;
					 
					     /////////////////////////////////////////////////////
					     //显示查询结果项目
				         /////////////////////////////////////////////////////
					     m_CListCtrl.InsertItem(nItemCount, m_NameTemp);
					     m_CListCtrl.SetItemText(nItemCount, 1, m_PhoneNoTemp);
					     m_CListCtrl.SetItemText(nItemCount, 2, m_TimeTemp);
					     m_CListCtrl.SetItemText(nItemCount, 3, m_IfoTemp);
					 }
					 PersonRecord->MoveNext();
					}while(!PersonRecord->IsEOF());
                  return;
				}
             RalationShip->MoveNext();
			}while(!RalationShip->IsEOF());
			MessageBox("数据库中没有这个号码!");
			return;
		}
////////////////////////////////////////////////////////////////////////////////////////////////
	  RalationShip->Close();
      delete RalationShip;

      db.Close();

    }
  	else
	AfxMessageBox("Can't open Database");
	////////////////////////////////////////////////////////////////////////////////////
	//关闭数据库
	////////////////////////////////////////////////////////////////////////////////////
	PersonRecord->Close();
    delete PersonRecord;
	
    db.Close();
	
}

⌨️ 快捷键说明

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