📄 projectdlg.cpp
字号:
// ProjectDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Practical.h"
#include "ProjectDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern _ConnectionPtr m_pConnection; //连接对象指针
extern _RecordsetPtr m_pRecordset; //记录集对象指针
/////////////////////////////////////////////////////////////////////////////
// CProjectDlg dialog
CProjectDlg::CProjectDlg(CWnd* pParent /*=NULL*/)
: CDialog(CProjectDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CProjectDlg)
m_Name = _T("");
//}}AFX_DATA_INIT
}
void CProjectDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CProjectDlg)
DDX_Control(pDX, IDC_LIST1, m_Grid);
DDX_Text(pDX, IDC_EDIT1, m_Name);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CProjectDlg, CDialog)
//{{AFX_MSG_MAP(CProjectDlg)
ON_BN_CLICKED(IDC_BUTADD, OnButadd)
ON_BN_CLICKED(IDC_BUTDEL, OnButdel)
ON_BN_CLICKED(IDC_BUTCLEAR, OnButclear)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CProjectDlg message handlers
BOOL CProjectDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_Grid.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES);
m_Grid.InsertColumn(0,"活动名称",LVCFMT_LEFT,150,0);
m_Grid.InsertColumn(1,"活动票数",LVCFMT_LEFT,150,1);
CString sql = "select * from tb_ballot";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
int i=0;
while(!m_pRecordset->adoEOF)
{
m_Grid.InsertItem(i,"");
m_Grid.SetItemText(i,0,(char*)(_bstr_t)m_pRecordset->GetCollect("活动名称"));
m_Grid.SetItemText(i,1,(char*)(_bstr_t)m_pRecordset->GetCollect("活动票数"));
m_pRecordset->MoveNext();
i++;
}
m_pRecordset->Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CProjectDlg::OnButadd()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_Name.IsEmpty())
{
MessageBox("活动名称不能为空!");
}
CString sql,sex;
sql.Format("insert into tb_ballot (活动名称) values ('%s')",m_Name);
m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);
int n = m_Grid.GetItemCount();
m_Grid.InsertItem(n,"");
m_Grid.SetItemText(n,0,m_Name);
m_Grid.SetItemText(n,1,"0");
m_Name = "";
UpdateData(FALSE);
}
void CProjectDlg::OnButdel()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_Name.IsEmpty())
{
MessageBox("活动名称不能为空!");
}
CString sql;
sql.Format("delete from tb_ballot where 活动名称 = '%s'",m_Name);
m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);
int pos = m_Grid.GetSelectionMark();
m_Grid.DeleteItem(pos);
m_Name = "";
UpdateData(FALSE);
}
void CProjectDlg::OnButclear()
{
// TODO: Add your control notification handler code here
int i=0;
CString sql,str;
sql.Format("select * from tb_ballot");
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
{
str.Format("%d",0);
m_pRecordset->GetFields()->GetItem("活动票数")->Value = (_bstr_t)str;
m_pRecordset->Update(); //更新数据库
m_pRecordset->MoveNext();
m_Grid.SetItemText(i,1,str);
i++;
}
sql.Format("delete from tb_isballot");
m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);
}
void CProjectDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int pos = m_Grid.GetSelectionMark();
m_Name = m_Grid.GetItemText(pos,0);
UpdateData(FALSE);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -