📄 rfiledlg.cpp
字号:
// RfileDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MyLib.h"
#include "RfileDlg.h"
#include "EditDlg.h"
#include "DeleteDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRfileDlg dialog
CRfileDlg::CRfileDlg(CWnd* pParent /*=NULL*/)
: CDialog(CRfileDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CRfileDlg)
m_ADDI = _T("");
m_BIRTH = 0;
m_COUNT = 0;
m_DATEF = 0;
m_DATET = 0;
m_FID = _T("");
m_FNAME = _T("");
m_ID = _T("");
m_NAME = _T("");
m_OPER = _T("");
m_SEX = _T("");
m_TELL = _T("");
m_TYPE = _T("");
m_LOSE = FALSE;
//}}AFX_DATA_INIT
}
void CRfileDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRfileDlg)
DDX_Text(pDX, IDC_ADDI, m_ADDI);
DDV_MaxChars(pDX, m_ADDI, 50);
DDX_DateTimeCtrl(pDX, IDC_BIRTH, m_BIRTH);
DDX_Text(pDX, IDC_COUNT, m_COUNT);
DDV_MinMaxInt(pDX, m_COUNT, 0, 99);
DDX_DateTimeCtrl(pDX, IDC_DATEF, m_DATEF);
DDX_DateTimeCtrl(pDX, IDC_DATET, m_DATET);
DDX_Text(pDX, IDC_FID, m_FID);
DDV_MaxChars(pDX, m_FID, 20);
DDX_Text(pDX, IDC_FNAME, m_FNAME);
DDV_MaxChars(pDX, m_FNAME, 20);
DDX_Text(pDX, IDC_ID, m_ID);
DDV_MaxChars(pDX, m_ID, 20);
DDX_Text(pDX, IDC_NAME, m_NAME);
DDV_MaxChars(pDX, m_NAME, 20);
DDX_Text(pDX, IDC_OPER, m_OPER);
DDV_MaxChars(pDX, m_OPER, 20);
DDX_Text(pDX, IDC_SEX, m_SEX);
DDX_Text(pDX, IDC_TELL, m_TELL);
DDV_MaxChars(pDX, m_TELL, 20);
DDX_CBString(pDX, IDC_TYPE, m_TYPE);
DDV_MaxChars(pDX, m_TYPE, 20);
DDX_Control(pDX, IDC_LIST1, m_List);
DDX_Check(pDX, IDC_LOSE, m_LOSE);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRfileDlg, CDialog)
//{{AFX_MSG_MAP(CRfileDlg)
ON_BN_CLICKED(IDC_FIND, OnFind)
ON_BN_CLICKED(IDC_EXIT, OnExit)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_EDIT, OnEdit)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CRfileDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_List.InsertColumn(0,"ID");
m_List.InsertColumn(1,"姓名");
m_List.InsertColumn(2,"性别");
m_List.InsertColumn(3,"类型");
RECT rect;
m_List.GetWindowRect(&rect);
int wid=rect.right-rect.left;
m_List.SetColumnWidth(0,wid/4);
m_List.SetColumnWidth(1,wid/4);
m_List.SetColumnWidth(2,wid/4);
m_List.SetColumnWidth(3,wid/4);
m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CRfileDlg message handlers
bool CRfileDlg::DisplayRecord()
{
UpdateData(true);
int i=0;
while(!rfileset.IsEOF())
{
m_ID = rfileset.m_ID;
m_NAME = rfileset.m_NAME;
m_SEX = rfileset.m_SEX;
m_TYPE = rfileset.m_TYPE;
m_List.InsertItem(i,m_ID);
m_List.SetItemText(i,1,m_NAME);
m_List.SetItemText(i,2,m_SEX);
m_List.SetItemText(i,3,m_TYPE);
rfileset.MoveNext();
i++;
}
UpdateData(false);
return true;
}
void CRfileDlg::OnFind()
{
m_List.DeleteAllItems();
UpdateData(true);
CString sqlstr = "SELECT * FROM READERINFM WHERE ID='";
sqlstr += m_FID;
sqlstr += "' OR NAME='";
sqlstr += m_FNAME;
sqlstr += "'";
if(rfileset.IsOpen())
{
rfileset.Close();
}
if(!rfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者表打开失败!");
return;
}
if(!rfileset.IsEOF())
{
DisplayRecord();
rfileset.Close();
}
else
{
MessageBox("该读者不存在!");
rfileset.Close();
}
}
void CRfileDlg::OnExit()
{
if(rfileset.IsOpen())
{
rfileset.Close();
}
CDialog::OnCancel();
}
void CRfileDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
char ID[20];
POSITION pos = m_List.GetFirstSelectedItemPosition();
if (pos != NULL)
{
int n = m_List.GetNextSelectedItem(pos);
m_List.GetItemText(n,0,ID,20);
if (rfileset.IsOpen())
{
rfileset.Close();
}
CString sqlstr = "SELECT * FROM READERINFM WHERE ID='";
sqlstr += ID;
sqlstr += "'";
if (!rfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者表打开失败!");
return;
}
m_ADDI = rfileset.m_ADD;
m_BIRTH = rfileset.m_BIRTH;
m_COUNT = rfileset.m_COUNT;
m_DATEF = rfileset.m_DATEF;
m_DATET = rfileset.m_DATET;
m_ID = rfileset.m_ID;
m_NAME = rfileset.m_NAME;
m_OPER = rfileset.m_OPER;
m_SEX = rfileset.m_SEX;
m_TELL = rfileset.m_TELL;
m_TYPE = rfileset.m_TYPE;
m_LOSE = rfileset.m_LOSE;
rfileset.Close();
UpdateData(FALSE);
}
*pResult = 0;
}
void CRfileDlg::OnAdd()
{
UpdateData(TRUE);
if(m_ID.IsEmpty())
{
MessageBox("读者ID不能为空!");
return;
}
if(rfileset.IsOpen())
{
rfileset.Close();
}
CString sqlstr = "SELECT * FROM READERINFM WHERE ID='";
sqlstr += m_ID;
sqlstr += "'";
if(rfileset.IsOpen())
{
rfileset.Close();
}
if(!rfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者表打开失败!");
return;
}
if(!rfileset.IsEOF())
{
MessageBox("该ID已存在!");
rfileset.Close();
return;
}
rfileset.AddNew();
rfileset.m_ID = m_ID;
rfileset.m_NAME = m_NAME;
rfileset.m_SEX = m_SEX;
rfileset.m_TYPE = m_TYPE;
rfileset.m_BIRTH = m_BIRTH;
rfileset.m_DATEF = m_DATEF;
rfileset.m_DATET = m_DATET;
rfileset.m_ADD = m_ADDI;
rfileset.m_COUNT = m_COUNT;
rfileset.m_TELL = m_TELL;
rfileset.m_OPER = m_OPER;
rfileset.m_LOSE = m_LOSE;
rfileset.Update();
rfileset.Requery();
MessageBox("添加成功!");
rfileset.Close();
}
void CRfileDlg::OnEdit()
{
UpdateData(TRUE);
if(m_ID.IsEmpty())
{
MessageBox("读者ID不能为空!");
return;
}
CString sqlstr = "SELECT * FROM READERINFM WHERE ID='";
sqlstr += m_ID;
sqlstr += "'";
if(rfileset.IsOpen())
{
rfileset.Close();
}
if(!rfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者表打开失败!");
return;
}
if(rfileset.IsEOF())
{
MessageBox("该ID不存在!");
rfileset.Close();
return;
}
CEditDlg dlg;
if(dlg.DoModal()==IDOK)
{
rfileset.Edit();
rfileset.m_ID = m_ID;
rfileset.m_NAME = m_NAME;
rfileset.m_SEX = m_SEX;
rfileset.m_TYPE = m_TYPE;
rfileset.m_BIRTH = m_BIRTH;
rfileset.m_DATEF = m_DATEF;
rfileset.m_DATET = m_DATET;
rfileset.m_ADD = m_ADDI;
rfileset.m_COUNT = m_COUNT;
rfileset.m_TELL = m_TELL;
rfileset.m_OPER = m_OPER;
rfileset.m_LOSE = m_LOSE;
if(rfileset.Update())
{
rfileset.Requery();
MessageBox("修改成功!");
}
rfileset.Close();
}
else rfileset.Close();
}
void CRfileDlg::OnDelete()
{
UpdateData(TRUE);
if(m_ID.IsEmpty())
{
MessageBox("读者ID不能为空!");
return;
}
CString sqlstr = "SELECT * FROM READERINFM WHERE ID='";
sqlstr += m_ID;
sqlstr += "'";
if(rfileset.IsOpen())
{
rfileset.Close();
}
if(!rfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者表打开失败!");
return;
}
if(rfileset.IsEOF())
{
MessageBox("该ID不存在!");
rfileset.Close();
return;
}
CDeleteDlg dlg;
if(dlg.DoModal()==IDOK)
{
rfileset.Delete();
rfileset.Requery();
MessageBox("删除成功!");
rfileset.Close();
}
else rfileset.Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -