📄 ryxxdlg.cpp
字号:
// RYXXDLG.cpp : implementation file
//
#include "stdafx.h"
#include "GG.h"
#include "RYXXDLG.h"
#include "ADOConn.h"
#include "Ryxxcxdlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRYXXDLG dialog
CRYXXDLG::CRYXXDLG(CWnd* pParent /*=NULL*/)
: CDialog(CRYXXDLG::IDD, pParent)
{
//{{AFX_DATA_INIT(CRYXXDLG)
m_DZXM = _T("");
m_DZBH = _T("");
m_XB = _T("");
m_GZDW = _T("");
m_DJRQ = _T("");
m_YJSSL = _T("");
m_JTDZ = _T("");
m_DZLB = _T("");
m_DHHM = _T("");
//}}AFX_DATA_INIT
i=true;
m_RYCX="";
}
void CRYXXDLG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRYXXDLG)
DDX_Control(pDX, IDC_COMBO3, m_CDZLB);
DDX_Control(pDX, IDC_RYXX_LIST, m_list_ryxx);
DDX_Text(pDX, IDC_EDIT1, m_DZXM);
DDX_Text(pDX, IDC_EDIT2, m_DZBH);
DDX_CBString(pDX, IDC_COMBO1, m_XB);
DDX_Text(pDX, IDC_EDIT3, m_GZDW);
DDX_Text(pDX, IDC_EDIT6, m_DJRQ);
DDX_Text(pDX, IDC_EDIT7, m_YJSSL);
DDX_Text(pDX, IDC_EDIT4, m_JTDZ);
DDX_CBString(pDX, IDC_COMBO3, m_DZLB);
DDX_Text(pDX, IDC_EDIT5, m_DHHM);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRYXXDLG, CDialog)
//{{AFX_MSG_MAP(CRYXXDLG)
ON_BN_CLICKED(IDC_RYXX_ADD, OnRyxxAdd)
ON_BN_CLICKED(IDC_RYXX_EDIT, OnRyxxEdit)
ON_BN_CLICKED(IDC_RYXX_DEL, OnRyxxDel)
ON_BN_CLICKED(IDC_RYXX_QUERY, OnRyxxQuery)
ON_NOTIFY(NM_CLICK, IDC_RYXX_LIST, OnClickRyxxList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRYXXDLG message handlers
BOOL CRYXXDLG::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_list_ryxx.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_list_ryxx.SetBkColor(RGB(247,247,255));
m_list_ryxx.SetTextColor(RGB(0,0,255));
m_list_ryxx.SetTextBkColor(RGB(247,247,255));
m_list_ryxx.InsertColumn(0, "姓名", LVCFMT_LEFT, 90);
m_list_ryxx.InsertColumn(1, "编号", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(2, "性别", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(3, "类别", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(4, "工作单位", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(5, "家庭住址", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(6, "电话号码", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(7, "登记日期", LVCFMT_LEFT, 130);
m_list_ryxx.InsertColumn(8, "已借书数量", LVCFMT_LEFT, 130);
CRYXXDLG::ShowDate();
/////////////////////////////////////////////
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{ CString strSql;
strSql.Format("SELECT * FROM %s","读者类别");
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
///////////////////////////////////////////////
if(!m_AdoConn.m_pRecordset->BOF)
m_AdoConn.m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return 0;
}
CString s;
m_AdoConn.m_pRecordset->MoveFirst();
while(!m_AdoConn.m_pRecordset->adoEOF)
{
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("种类名称"));
}
catch(...)
{
s=" ";
}
m_CDZLB.AddString(s);
UpdateData(FALSE);
m_AdoConn.m_pRecordset->MoveNext();
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CRYXXDLG::ShowDate()
{
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{ CString strSql;
if(i)
{ strSql.Format("SELECT * FROM %s","读者信息");}
else
{
strSql="SELECT * FROM 读者信息 WHERE 读者类别=";
strSql=strSql+"'"+m_RYCX+"'";
}
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_list_ryxx.DeleteAllItems();
///////////////////////////////////////////////
if(!m_AdoConn.m_pRecordset->BOF)
m_AdoConn.m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
}
CString s;
int iIndex=0;
m_AdoConn.m_pRecordset->MoveFirst();
while(!m_AdoConn.m_pRecordset->adoEOF)
{
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.InsertItem(iIndex,s,0);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者编号"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,1,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("性别"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,2,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者类别"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,3,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("工作单位"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,4,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("家庭地址"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,5,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("电话号码"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,6,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("登记日期"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,7,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("已借书数量"));
}
catch(...)
{
s=" ";
}
m_list_ryxx.SetItemText(iIndex,8,s);
UpdateData(FALSE);
m_AdoConn.m_pRecordset->MoveNext();
iIndex++;
}
//////////////////////////////////////////
m_AdoConn.ExitConnect();
}
void CRYXXDLG::OnRyxxAdd()
{
// TODO: Add your control notification handler code here
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
CString s;
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{ CString strSql;
if(i)
strSql.Format("SELECT * FROM %s","读者信息");
else
{
strSql="SELECT * FROM 读者信息 WHERE 读者类别=";
strSql=strSql+"'"+m_RYCX+"'";
}
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
UpdateData(true);
if(m_DZXM== "" ||m_DZLB== "")
{
AfxMessageBox("姓名和类别不能为空!");
return;
}
try
{
m_AdoConn.m_pRecordset->AddNew();
m_AdoConn.m_pRecordset->PutCollect("读者编号", _variant_t(m_DZBH));
m_AdoConn.m_pRecordset->PutCollect("读者姓名", _variant_t(m_DZXM));
m_AdoConn.m_pRecordset->PutCollect("读者类别", _variant_t(m_DZLB));
m_AdoConn.m_pRecordset->PutCollect("性别", _variant_t(m_XB));
m_AdoConn.m_pRecordset->PutCollect("工作单位", _variant_t(m_GZDW));
m_AdoConn.m_pRecordset->PutCollect("家庭地址", _variant_t(m_JTDZ));
m_AdoConn.m_pRecordset->PutCollect("电话号码", _variant_t(m_DHHM));
m_AdoConn.m_pRecordset->PutCollect("登记日期", _variant_t(m_DJRQ));
m_AdoConn.m_pRecordset->PutCollect("已借书数量", _variant_t(m_YJSSL));
m_AdoConn.m_pRecordset->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
MessageBox("插入成功!");
m_AdoConn.ExitConnect();
ShowDate();
}
void CRYXXDLG::OnRyxxEdit()
{
// TODO: Add your control notification handler code here
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{ CString strSql;
if(i)
strSql.Format("SELECT * FROM %s","读者信息");
else
{
strSql="SELECT * FROM 读者信息 WHERE 读者类别=";
strSql=strSql+"'"+m_RYCX+"'";
}
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
POSITION pos=m_list_ryxx.GetFirstSelectedItemPosition();
if(pos==NULL)
return;
int nItem=m_list_ryxx.GetNextSelectedItem(pos);
m_AdoConn.m_pRecordset->Move(nItem);
try
{
m_AdoConn.m_pRecordset->PutCollect("读者编号", _variant_t(m_DZBH));
m_AdoConn.m_pRecordset->PutCollect("读者姓名", _variant_t(m_DZXM));
m_AdoConn.m_pRecordset->PutCollect("读者类别", _variant_t(m_DZLB));
m_AdoConn.m_pRecordset->PutCollect("性别", _variant_t(m_XB));
m_AdoConn.m_pRecordset->PutCollect("工作单位", _variant_t(m_GZDW));
m_AdoConn.m_pRecordset->PutCollect("家庭地址", _variant_t(m_JTDZ));
m_AdoConn.m_pRecordset->PutCollect("电话号码", _variant_t(m_DHHM));
m_AdoConn.m_pRecordset->PutCollect("登记日期", _variant_t(m_DJRQ));
m_AdoConn.m_pRecordset->PutCollect("已借书数量", _variant_t(m_YJSSL));
m_AdoConn.m_pRecordset->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
MessageBox("修改成功!");
m_AdoConn.ExitConnect();
ShowDate();
}
void CRYXXDLG::OnRyxxDel()
{
// TODO: Add your control notification handler code here
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -