📄 hsgldlg.cpp
字号:
// HsglDlg.cpp : implementation file
//
#include "stdafx.h"
#include "GG.h"
#include "HsglDlg.h"
#include "ADOConn.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CHsglDlg dialog
CHsglDlg::CHsglDlg(CWnd* pParent /*=NULL*/)
: CDialog(CHsglDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CHsglDlg)
m_XM = FALSE;
m_SM = FALSE;
m_TSMC = _T("");
m_DZXM = _T("");
//}}AFX_DATA_INIT
}
void CHsglDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CHsglDlg)
DDX_Control(pDX, IDC_COMBO1, m_CDZXM);
DDX_Control(pDX, IDC_LIST_HSGL, m_list_hsgl);
DDX_Check(pDX, IDC_CHECK1, m_XM);
DDX_Check(pDX, IDC_CHECK2, m_SM);
DDX_Text(pDX, IDC_EDIT2, m_TSMC);
DDX_CBString(pDX, IDC_COMBO1, m_DZXM);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CHsglDlg, CDialog)
//{{AFX_MSG_MAP(CHsglDlg)
ON_BN_CLICKED(IDC_BUTTON_QUERY, OnButtonQuery)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CHsglDlg message handlers
BOOL CHsglDlg::OnInitDialog()
{
CDialog::OnInitDialog();
i=0;
// TODO: Add extra initialization here
m_list_hsgl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_list_hsgl.SetBkColor(RGB(247,247,255));
m_list_hsgl.SetTextColor(RGB(0,0,255));
m_list_hsgl.SetTextBkColor(RGB(247,247,255));
m_list_hsgl.InsertColumn(0, "读者编号", LVCFMT_LEFT, 80);
m_list_hsgl.InsertColumn(1, "读者", LVCFMT_LEFT, 80);
m_list_hsgl.InsertColumn(2, "书籍编号", LVCFMT_LEFT, 80);
m_list_hsgl.InsertColumn(3, "书名", LVCFMT_LEFT, 80);
m_list_hsgl.InsertColumn(4, "出借日期", LVCFMT_LEFT, 180);
//////////////////////////////////////////////////////////////////
ShowDate();
ShowDlg();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CHsglDlg::ShowDate()
{
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
CString str1,str2,strSql;
try
{
if (i)
{
if(m_SM & m_XM)
{
str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
str2="AND 书籍名称=";
strSql=str1+"'"+m_DZXM+"'"+str2+"'"+m_TSMC+"'";
}
else if(m_SM)
{
str1="SELECT * FROM 借阅信息 WHERE 书籍名称=";
strSql=str1+"'"+m_TSMC+"'";
}
else if(m_XM)
{
str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
strSql=str1+"'"+m_DZXM+"'";
}
else
{
//str1="SELECT * FROM 借阅信息";
MessageBox("请输入查询条件!");
}
}
else
strSql="SELECT * FROM 借阅信息";
// MessageBox(strSql);
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_hsgl.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_hsgl.InsertItem(iIndex,s,0);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,1,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍编号"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,2,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍名称"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,3,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("出借日期"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,4,s);
UpdateData(FALSE);
m_AdoConn.m_pRecordset->MoveNext();
iIndex++;
}
m_AdoConn.ExitConnect();
}
void CHsglDlg::ShowDlg()
{
ADOConn m_AdoConn1;
m_AdoConn1.OnInitADOConn();
CString s1;
m_AdoConn1.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
CString strSql;
strSql.Format("SELECT * FROM 读者信息 WHERE 已借书数量>0");
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn1.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn1.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
///////////////////////////////////////////////
if(!m_AdoConn1.m_pRecordset->BOF)
m_AdoConn1.m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return ;
}
m_AdoConn1.m_pRecordset->MoveFirst();
while(!m_AdoConn1.m_pRecordset->adoEOF)
{
try
{
s1=(LPCSTR)_bstr_t(m_AdoConn1.m_pRecordset->GetCollect("读者姓名"));
}
catch(...)
{
s1=" ";
}
m_CDZXM.AddString(s1);
UpdateData(false);
m_AdoConn1.m_pRecordset->MoveNext();
}
m_AdoConn1.ExitConnect();
}
void CHsglDlg::OnButtonQuery()
{
// TODO: Add your control notification handler code here
i=1;
UpdateData(true);
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
CString str1,str2,strSql;
try
{
if(m_SM & m_XM)
{
str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
str2="AND 书籍名称=";
strSql=str1+"'"+m_DZXM+"'"+str2+"'"+m_TSMC+"'";
}
else if(m_SM)
{
str1="SELECT * FROM 借阅信息 WHERE 书籍名称=";
strSql=str1+"'"+m_TSMC+"'";
}
else if(m_XM)
{
str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
strSql=str1+"'"+m_DZXM+"'";
}
else
{
//str1="SELECT * FROM 借阅信息";
MessageBox("请输入查询条件!");
return;
}
MessageBox(strSql);
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_hsgl.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_hsgl.InsertItem(iIndex,s,0);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,1,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍编号"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,2,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍名称"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,3,s);
try
{
s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("出借日期"));
}
catch(...)
{
s=" ";
}
m_list_hsgl.SetItemText(iIndex,4,s);
UpdateData(FALSE);
m_AdoConn.m_pRecordset->MoveNext();
iIndex++;
}
m_AdoConn.ExitConnect();
}
void CHsglDlg::OnOK()
{
// TODO: Add extra validation here
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
CString str1,str2,strSql;
try
{
if (i)
{
if(m_SM & m_XM)
{
str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
str2="AND 书籍名称=";
strSql=str1+"'"+m_DZXM+"'"+str2+"'"+m_TSMC+"'";
}
else if(m_SM)
{
str1="SELECT * FROM 借阅信息 WHERE 书籍名称=";
strSql=str1+"'"+m_TSMC+"'";
}
else if(m_XM)
{
str1="SELECT * FROM 借阅信息 WHERE 读者姓名=";
strSql=str1+"'"+m_DZXM+"'";
}
else
{
//str1="SELECT * FROM 借阅信息";
MessageBox("请输入查询条件!");
}
}
else
strSql="SELECT * FROM 借阅信息";
// MessageBox(strSql);
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_hsgl.GetFirstSelectedItemPosition();
if(pos==NULL)
return;
int nItem=m_list_hsgl.GetNextSelectedItem(pos);
m_AdoConn.m_pRecordset->Move(nItem);
CString s1,s2;
try
{
s1=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));
}
catch(...)
{
s1=" ";
}
try
{
s2=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("书籍名称"));
}
catch(...)
{
s2=" ";
}
//MessageBox(s1+s2);
m_AdoConn.m_pRecordset->Delete(adAffectCurrent);
m_AdoConn.m_pRecordset->Update();
m_AdoConn.ExitConnect();
//MessageBox("1111");
////////////////////////////////////////////////
ADOConn m_AdoConn1;
m_AdoConn1.OnInitADOConn();
m_AdoConn1.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{ CString strSql;
strSql=("SELECT * FROM 读者信息 WHERE 读者姓名=");
strSql=strSql+"'"+s1+"'";
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn1.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn1.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
CString n;
int m;
n=(LPCSTR)_bstr_t(m_AdoConn1.m_pRecordset->GetCollect("已借书数量"));
m=atoi(n);
m=m-1;
n.Format("%d",m);
m_AdoConn1.m_pRecordset->PutCollect("已借书数量", _variant_t(n));
m_AdoConn1.m_pRecordset->Update();
m_AdoConn1.ExitConnect();
//MessageBox("22222");
///////////////////////////////////////////////////////////////
ADOConn m_AdoConn2;
m_AdoConn2.OnInitADOConn();
m_AdoConn2.m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{ CString strSql;
strSql=("SELECT * FROM 书籍信息 WHERE 书名=");
strSql=strSql+"'"+s2+"'";
//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
m_AdoConn2.m_pRecordset->Open(_variant_t(strSql), // 查询DemoTable表中所有字段
m_AdoConn2.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_AdoConn2.m_pRecordset->PutCollect("是否被借出", _variant_t("否"));
m_AdoConn2.m_pRecordset->Update();
m_AdoConn2.ExitConnect();
ShowDate();
ShowDlg();
MessageBox("还书成功!");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -