⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scoredlg.cpp

📁 最后的成品vc考勤ACCSEE数据库做的 还有文档 希望大家多多指点jilinshidalvdi@163.com
💻 CPP
字号:
// ScoreDlg.cpp : implementation file
//

#include "stdafx.h"
#include "studentscore.h"
#include "ScoreDlg.h"
#include "ScoreAddDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CScoreDlg dialog


CScoreDlg::CScoreDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CScoreDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CScoreDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CScoreDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CScoreDlg)
	DDX_Control(pDX, IDC_LIST_SCORE, m_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CScoreDlg, CDialog)
	//{{AFX_MSG_MAP(CScoreDlg)
	ON_BN_CLICKED(IDC_SCORE_ADD, OnScoreAdd)
	ON_BN_CLICKED(IDC_SCORE_EDIT, OnScoreEdit)
	ON_BN_CLICKED(IDC_SCORE_DEL, OnScoreDel)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CScoreDlg message handlers

BOOL CScoreDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	if(!m_database.IsOpen())
	{
		m_database.Open(_T("studentscore"));
		m_recordSet.m_pDatabase=&m_database;

	}
    m_list.InsertColumn(0,"成绩编号");
	m_list.InsertColumn(1,"学生姓名");
	m_list.InsertColumn(2,"课程名称");
	m_list.InsertColumn(3,"考勤分数");
	m_list.InsertColumn(4,"情况说明");
    RECT rectList;
    m_list.GetWindowRect(&rectList);
	int wid=rectList.right-rectList.left-5;
	for(int i=0;i<5;i++)
	{
		m_list.SetColumnWidth(i,wid/5);

	}
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	RefreshList();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CScoreDlg::RefreshList()
{
	m_list.DeleteAllItems();
  //  m_recordSet.Open();
    CString strSQL;
//m_recordSet.m_strFilter="student.student_no=score.student_no and course.course_no=score.course_no and score.active_status='Y'";
   strSQL.Format("select * from score,student,course where student.student_no=score.student_no and course.course_no=score.course_no ");
    //if(!m_recordSet.Open())//去掉  状态了 

   //正常的格式CString str = "Some Data";
//            str.Format("%s%d", str, 123);   


   m_recordSet.Open(CRecordset::forwardOnly,strSQL);
  for(int i=0; i<m_recordSet.GetRecordCount();i++)
  {        
         CString temp;
         m_recordSet.GetFieldValue("score_id",temp);
         m_list.InsertItem(i,temp);
         
         m_recordSet.GetFieldValue("student_name",temp);
		 m_list.SetItemText(i,1,temp);
       
         m_recordSet.GetFieldValue("course_name",temp);
	   	 m_list.SetItemText(i,2,temp);
     
         m_recordSet.GetFieldValue("score",temp);
	     m_list.SetItemText(i,3,temp);

         m_recordSet.GetFieldValue("beizhu",temp);
	     m_list.SetItemText(i,4,temp);


	     m_recordSet.MoveNext();
   }
   m_recordSet.Close();
}

void CScoreDlg::OnScoreAdd() 
{
	// TODO: Add your control notification handler code here
	CScoreAddDlg scoreAdd;
	scoreAdd.id="0";
	scoreAdd.DoModal();
	RefreshList();
}

void CScoreDlg::OnScoreEdit() 
{
	// TODO: Add your control notification handler code here
	CScoreAddDlg scoreAdd;
	int row=m_list.GetSelectionMark();
//	CString s;
	scoreAdd.id=m_list.GetItemText(row,0);

//	s=m_list.GetItemText(row,1);
	if(scoreAdd.id=="")
		MessageBox("请求选择所需要的记录 ");
	else 
	{
		scoreAdd.DoModal();
		RefreshList();
	}

}


void CScoreDlg::OnScoreDel() 
{
	// TODO: Add your control notification handler code here
	int  row=m_list.GetSelectionMark();
	CString id=m_list.GetItemText(row,0);
	if(id=="")
		MessageBox("请选择 所需要删除的额记录");
	else
	{
		CString   strSQL;
		strSQL.Format("delete from score where score_id=%s",id);
		m_database.ExecuteSQL(strSQL);
	}
	RefreshList();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -