?? scdlg.cpp
字號:
// SCDLG.cpp : implementation file
//
#include "stdafx.h"
#include "DB.h"
#include "SCDLG.h"
#include "PWSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// SCDLG dialog
SCDLG::SCDLG(CWnd* pParent /*=NULL*/)
: CDialog(SCDLG::IDD, pParent)
{
//{{AFX_DATA_INIT(SCDLG)
m_cname = _T("");
m_grade = 0;
m_sno = _T("");
//}}AFX_DATA_INIT
}
void SCDLG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(SCDLG)
DDX_Control(pDX, IDC_LIST2, m_list);
DDX_Text(pDX, IDC_CNAME, m_cname);
DDX_Text(pDX, IDC_GRADE, m_grade);
DDX_Text(pDX, IDC_Sno, m_sno);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(SCDLG, CDialog)
//{{AFX_MSG_MAP(SCDLG)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_delete, Ondelete)
ON_BN_CLICKED(IDC_modify, Onmodify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// SCDLG message handlers
BOOL SCDLG::OnInitDialog()
{
CDialog::OnInitDialog();
m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
m_list.InsertColumn(0,"學號",LVCFMT_CENTER,100);
m_list.InsertColumn(1,"課程名",LVCFMT_CENTER,110);
m_list.InsertColumn(2,"成績",LVCFMT_CENTER,100);
pdb=new CDatabase;
m_pSet=new SCSet(pdb);
m_pSet->Open();
LoadData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void SCDLG::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
int selectrow=pNMListView->iItem;
m_sno=m_list.GetItemText(selectrow,0);
m_cname=m_list.GetItemText(selectrow,1);
m_grade=atoi(m_list.GetItemText(selectrow,2));
UpdateData(FALSE);
*pResult = 0;
}
void SCDLG::LoadData()
{
m_list.DeleteAllItems();
int i=0;
while(!m_pSet->IsEOF())
{
m_list.InsertItem(i,m_pSet->m_sno);
m_list.SetItemText(i,1,m_pSet->m_cname);
CString str;
str.Format("%d",m_pSet->m_grade);
m_list.SetItemText(i,2,str);
i++;
m_pSet->MoveNext();
}
}
void SCDLG::OnAdd()
{
UpdateData(true);
CString str;
str.Format("insert into sc values('%s' ,'%s' ,%d)",m_sno,m_cname ,m_grade);
pdb->ExecuteSQL(str);
m_pSet->Requery();
LoadData();
}
void SCDLG::Ondelete()
{UpdateData(true);
CString str;
if(MessageBox("確定嗎?","你真的要刪除嗎?",MB_YESNO|MB_ICONINFORMATION)==IDYES)
{str.Format("delete from sc where sno='%s'and cname='%s'",m_sno,m_cname);
pdb->ExecuteSQL(str);
m_pSet->Requery();
LoadData();}
}
void SCDLG::Onmodify()
{
UpdateData(true);
CString str;
str.Format("update sc set grade=%d where sno='%s' and cname='%s'", m_grade,m_sno,m_cname);
pdb->ExecuteSQL(str);
m_pSet->Requery();
LoadData();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -