📄 querydlg.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 + -