




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、教學(xué)管理系統(tǒng)系統(tǒng)設(shè)計(jì)設(shè)計(jì)目標(biāo)減輕教學(xué)日常信息管理的負(fù)擔(dān),方便學(xué)生、教師查詢信息和學(xué)校對(duì)所有信息的管理。以簡單便捷的操作獲取詳盡的信息。設(shè)計(jì)思路在日常的教學(xué)管理活動(dòng)中主要涉及:1、 教職工和學(xué)生的信息管理2、 學(xué)生的成績管理、查詢、統(tǒng)計(jì)3、 教師查詢自己教授學(xué)生的信息和成績的錄入修改4、 各門課程的安排和信息查詢對(duì)日常教學(xué)管理活動(dòng)的分析后,對(duì)各種信息統(tǒng)一規(guī)范整理,實(shí)現(xiàn)各種信息的自動(dòng)管理。為便于信息的查詢,找出各種信息的關(guān)聯(lián)性,根據(jù)各種需求設(shè)計(jì)出合理的報(bào)表。在管理上詳細(xì)區(qū)分學(xué)生、教師、管理員三者各自擁有的權(quán)限,和他們不同的需求,仔細(xì)考慮他們的不同點(diǎn),合理整理信息,確保各自的需求得到最大化滿足功能模
2、塊主要分為四大模塊:1、 用戶賬戶的區(qū)分和管理2、 學(xué)生系統(tǒng)3、 教師系統(tǒng)4、 管理員系統(tǒng)其詳細(xì)功能如圖:用戶賬戶管理各科成績報(bào)表各科成績管理查詢教師信息添加修改刪除查詢課程信息添加修改刪除查詢學(xué)生信息添加修改刪除成績修改成績添加教授學(xué)生信息教授課程信息個(gè)人信息查詢各科成績分布各科成績查詢刪除所選課程選擇課程教師信息查詢課程信息查詢個(gè)人信息查詢系管理成績管理教師管理課程管理學(xué)生管理成績管理信息查詢成績查詢選課信息查詢教師系統(tǒng)學(xué)生系統(tǒng)管理員系統(tǒng)教學(xué)管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫需求分析1)信息需求:(1) 學(xué)生信息:學(xué)號(hào)、姓名、性別、出生日期、入學(xué)成績、所在系號(hào)。(2) 教職工信息:職工號(hào)、姓名、性別
3、、出身年月、所在系號(hào)、職稱、專業(yè)及教學(xué)方向。(3) 系的基本信息:系號(hào)、系名稱、系的簡介。(4) 課程信息:課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間。(5) 成績信息:學(xué)號(hào)、課程號(hào)、平時(shí)成績、考試成績、總評(píng)成績。2)處理需求:(1) 學(xué)生基本信息管理新生信息錄入。學(xué)生信息修改:按學(xué)號(hào)查詢出某學(xué)生的信息并做信息修改。*學(xué)生轉(zhuǎn)學(xué)(轉(zhuǎn)入和轉(zhuǎn)出),學(xué)生畢業(yè)等。畢業(yè)和轉(zhuǎn)學(xué)的學(xué)生有關(guān)信息存儲(chǔ)到歷史庫中。(2) 系基本信息管理:系的基本信息輸入、修改、刪除 (3) 課程信息管理:課程信息的輸入、修改、刪除(4) 教職工信息管理:教職工信息的輸入、修改、刪除(5) 選課管理: 每
4、學(xué)期所選課程的學(xué)分不能超過15分。(創(chuàng)建觸發(fā)器)學(xué)生可以同時(shí)選修一門或多門課程。 可以同時(shí)為多個(gè)學(xué)生選修某一門或某幾門課程。刪除和修改選課信息。(6) 成績管理(視圖)按課程輸入和修改成績。(查詢選該門課程的學(xué)生)按學(xué)生輸入和修改成績。(查詢?cè)搶W(xué)生所選的課程)(7) 信息查詢按學(xué)號(hào)、姓名、系號(hào)查詢學(xué)生基本信息。按職工號(hào)、姓名、系號(hào)查詢教職工基本信息。按系號(hào)、系名稱查詢系的基本信息。按課程號(hào)、課程名稱、上課教師姓名查詢課程基本信息。按學(xué)號(hào)、學(xué)生姓名、課程號(hào)、課程名稱、上課教師姓名、系號(hào)查詢學(xué)生成績,內(nèi)容包括課程基本情況。若查詢涉及多門課程,則按課程分組。每門課程按總評(píng)成績從高分到低分給出選修該門
5、課程的所有學(xué)生的成績(平時(shí)成績、考試成績和總評(píng)成績)。(8) 統(tǒng)計(jì)報(bào)表成績登記表,內(nèi)容包括課程基本信息(課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間)、選課學(xué)生名單(學(xué)號(hào)、姓名、性別),每個(gè)學(xué)生的平時(shí)成績(空格)、考試成績(空格)和總評(píng)成績(空格),按學(xué)號(hào)排序:順序輸出所有課程的成績登記表。按課程號(hào)、課程名稱、教師姓名輸出對(duì)應(yīng)課程的成績登記表。*按系號(hào)輸出對(duì)應(yīng)課程的成績登記表(本系所有教師擔(dān)任的課程)。成績報(bào)表,內(nèi)容包括課程基本信息(課程號(hào)、課程名稱、任課教師號(hào)、學(xué)時(shí)、學(xué)分、上課時(shí)間、上課地點(diǎn)、考試時(shí)間),選課學(xué)生名單(學(xué)號(hào)、姓名、性別),每個(gè)學(xué)生的平時(shí)成績、考試成績
6、和總評(píng)成績,>=90分、>=80分、>=70分、>=60分及不及格學(xué)生的人數(shù)及比例,按學(xué)號(hào)排序:順序輸出所有課程的成績報(bào)表。(報(bào)表格式自己訂制,可以參考學(xué)校的系統(tǒng)的輸出格式)按課程號(hào)、課程名稱、教師姓名輸出對(duì)應(yīng)課程的成績報(bào)表。*按系號(hào)輸出對(duì)應(yīng)課程的成績報(bào)表(本系所有教師擔(dān)任的課程)概念結(jié)構(gòu)設(shè)計(jì)表的設(shè)計(jì)課程(課程號(hào),課程名,職工號(hào),學(xué)時(shí),學(xué)分,上課時(shí)間,上課地點(diǎn),考試時(shí)間)主碼:課程號(hào) 外碼: 職工號(hào)Course(Cno,Cname,Tno,Cperiod,Ccredit,Cbeigan,Caddress,Cexamtime)系(系號(hào),系名,系簡介)主碼: 系號(hào)Dept(
7、Dno,Dname,Dintro)學(xué)生(學(xué)號(hào),姓名,性別,出生日期,入學(xué)成績,系號(hào))主碼:學(xué)號(hào) 外碼:系號(hào)Student(Sno,Sname,Ssex,Sbirth,Senrolgrade,Dno)教職工(職工號(hào),姓名,性別,出生日期,職稱,專業(yè)級(jí)教學(xué)方向,系號(hào))主碼:職工號(hào) 外碼:系號(hào)Teacher(Tno,Tname,Tsex,Tbirth,Tjodtitle,Tprofession,Dno)選課(學(xué)號(hào),課程號(hào),平時(shí)成績,考試成績,總成績)主碼:學(xué)號(hào),課程號(hào) 外碼:學(xué)號(hào),課程號(hào) . SC(Sno,Cno,Gordinary,Gexam,Gsum)表的關(guān)系圖數(shù)據(jù)庫結(jié)構(gòu):課程表:CREATE
8、TABLE Course(Cno varchar(12) NOT NULL PRIMARY KEY CHECK(Cno LIKE'0-90-90-90-90-90-90-90-90-90-90-90-9'),Cname varchar(10) NULL,Cperiod smallint NULL,Ccredit smallint NULL,Cbeigan varchar(10) NULLCHECK(Cbeigan LIKE '0-90-9-0-90-90-90-9-0-90-9'),Caddress varchar(20)NULL,Cexamtime varch
9、ar(2)NULL,Tno varchar(12)NULL REFERENCES Teacher(Tno) ON UPDATE CASCADE ON DELETE CASCADE,)系表:CREATE TABLE Dept(Dno varchar(12) NOT NULL PRIMARY KEYCHECK(Dno LIKE'0-90-90-90-90-90-90-90-90-90-90-90-9'),Dname varchar(20) NULL,Dintro ntext NULL,)學(xué)生表:CREATE TABLE Student(Sno varchar(12) NOT NUL
10、L PRIMARY KEYCHECK(Sno LIKE'0-90-90-90-90-90-90-90-90-90-90-90-9'),Sname varchar(10) NULL,Ssex char(2) NULLCHECK(Ssex = '男' OR Ssex = '女'),Sbirth DATETIME NULL,Senrolgrade smallint NULL,CHECK(Senrolgrade >= 0),Dno varchar(12) NULL REFERENCES Dept(Dno)ON UPDATE CASCADE ON D
11、ELETE CASCADE,)職工表:CREATE TABLE Teacher(Tno varchar(12) NOT NULL PRIMARY KEYCHECK(Tno LIKE'0-90-90-90-90-90-90-90-90-90-90-90-9'),Tname varchar(10) NULL,Tsex char(2) NULLCHECK(Tsex = '男' OR Tsex = '女'),Tbirth DATETIME NULL,Tjobtitle varchar(20) NULL,Tprofession varchar(20) NU
12、LL,Dno varchar(12) NULL REFERENCES Dept(Dno)ON UPDATE CASCADE ON DELETE CASCADE,)學(xué)課和成績表:CREATE TABLE SC(Sno varchar(12) NOT NULL REFERENCES Student(Sno),Cno varchar(12) NOT NULL REFERENCES Course(Cno),Gordinary smallint NULL CHECK(Gordinary>=0 AND Gordinary<=100),Gexam smallint NULL CHECK(Gexa
13、m>=0 AND Gexam<=100),Gsum AS (Gordinary*0.3+Gexam*0.7),PRIMARY KEY(Sno,Cno),)創(chuàng)建的存儲(chǔ)過程:對(duì)Dept、Student、Teacher、Course表的刪除CREATE PROC deleteByNoNo varchar(12),type smallint = 1ASbegin transactionIF type = 1 BEGINDELETE FROM DeptWHERE Dno = No;END IF type = 2 BEGINDELETE FROM TeacherWHERE Tno = NoEN
14、DIF type = 3 BEGINDELETE FROM StudentWHERE Sno = NoENDIF type = 4BEGINDELETE FROM CourseWHERE Cno = NoENDCOMMIT添加系信息:CREATE PROC InsertDeptDno varchar(12),Dname varchar(20),Dintro ntextASBEGIN TRANSACTIONINSERT INTO DeptVALUES(Dno,Dname,Dintro)COMMIT添加學(xué)生信息:CREATE PROC InsertStudentSno varchar(12),Sn
15、ame varchar(10),Ssex char(2),Sbirth datetime,Senrolgrade smallint = 0,Dno varchar(12)ASBEGIN TRANSACTIONINSERT INTO StudentVALUES(Sno,Sname,Ssex,Sbirth,Senrolgrade,Dno)COMMIT添加課程信息:CREATE PROC InsertCourseCno varchar(12),Cname varchar(20),Cperiod smallint = 0,CcreditSmallint = 0,Cbeigan varchar(10),
16、Caddress varchar(20),Cexamtime varchar(2),Tno varchar(12)ASBEGIN TRANSACTIONINSERT INTO CourseVALUES(Cno,Cname,Cperiod,Ccredit,Cbeigan,Caddress,Cexamtime,Tno)COMMIT添加職工信息:CREATE PROC InsertTeacherTno varchar(12),Tname varchar(10),Tsex char(2),Tbirth datetime,Tjobtitle varchar(20),Tprofession varchar
17、(20),Dno varchar(12)ASBEGIN TRANSACTIONINSERT INTO TeacherVALUES(Tno,Tname,Tsex,Tbirth,Tjobtitle,Tprofession,Dno)COMMIT創(chuàng)建的視圖:CREATE VIEW ChooseCourse (Sno,Sname,Cno,Cname,Ccredit)ASSELECT Student.Sno,Student.Sname,Course.Cno,Course.Cname,Course.CcreditFROM Student,Course,SCWHERE Student.Sno = SC.Sno
18、 AND Course.Cno = SC.CnoCREATE VIEW Score(Sno,Sname,Cno,Cname,Gordinary,Gexam,Gsum)ASSelect Student.Sno,Sname,Course.Cno,Cname,Gordinary,Gexam,GsumFrom Student,Course,SCWhere Student.Sno = SC.Sno AND Course.Cno = SC.Cno創(chuàng)建的觸發(fā)器Create trigger insertchooseon SCFOR insertasdeclare i int, Sno varchar(12)s
19、elect Sno = SnoFrom insertedselect i=sum(Ccredit)from ChooseCoursewhere ChooseCourse.Sno = Snoif(i>15)beginROLLBACK TRANSACTIONRAISERROR('你選修的學(xué)分大于15學(xué)分,請(qǐng)確認(rèn)后選課',16,1)END程序的詳細(xì)設(shè)計(jì)一、 數(shù)據(jù)庫操作類 ADOCoonenum Type CSTRING,INT1,;class ADOConn public:ADOConn();virtual ADOConn();void OnInitDBConnect();_R
20、ecordsetPtr& GetRecordSet(_bstr_t bstrSQL);_RecordsetPtr& ExcuteStoreProc(CString ProcNmae,CString* Parameters,CString* Values,Type *type);BOOL ExecuteSQL(_bstr_t bstrSQL);void ExitConect();_ConnectionPtr GetConnection();private:_ConnectionPtr m_PConnection;_RecordsetPtr m_PRecordPtr;ADOConn
21、:ADOConn() OnInitDBConnect();ADOConn:ADOConn() ADOConn:ExitConect();void ADOConn:OnInitDBConnect():CoInitialize(NULL);trym_PConnection.CreateInstance("ADODB.Connection");_bstr_t strConnect = "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ljx;Da
22、ta Source=(local)"m_PConnection->Open(strConnect,"","",adModeUnknown);catch(_com_error e)AfxMessageBox(e.Description();_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)tryif(m_PConnection = NULL)OnInitDBConnect();m_PRecordPtr.CreateInstance(_uuidof(Recordset);m_PRe
23、cordPtr->Open(bstrSQL,m_PConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); catch(_com_error e)AfxMessageBox(e.Description();return m_PRecordPtr;BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)tryif(m_PConnection = NULL)OnInitDBConnect();m_PConnection ->Execute(bstrSQL,NULL,adCmdT
24、ext);return TRUE;catch(_com_error e)AfxMessageBox(e.Description();return FALSE;void ADOConn:ExitConect()if(m_PRecordPtr != NULL)m_PRecordPtr.Release();m_PConnection->Close();:CoUninitialize();_RecordsetPtr& ADOConn:ExcuteStoreProc(CString ProcNmae,CString* Parameters,CString* Values,Type *typ
25、e)_CommandPtr pCmd = NULL;tryif(m_PConnection = NULL)OnInitDBConnect(); pCmd.CreateInstance(_uuidof(Command);m_PRecordPtr.CreateInstance(_uuidof(Recordset);pCmd->ActiveConnection = m_PConnection;pCmd->CommandType = adCmdStoredProc;pCmd->CommandText = _bstr_t(ProcNmae);pCmd->Parameters-&g
26、t;Refresh();while(*Parameters != "0")switch(*type)case CSTRING:pCmd->Parameters->Item_variant_t(_bstr_t(*Parameters)->Value = _variant_t(*Values);Parameters+;Values+;type+;break;case INT1:CString str = *Values;int mm = atoi(str);pCmd->Parameters->Item_variant_t(_bstr_t(*Para
27、meters)->Value = _variant_t(long)mm);Parameters+;Values+;type+;break;default:break;m_PRecordPtr = pCmd->Execute(NULL,NULL,adCmdStoredProc);catch(_com_error e)AfxMessageBox(e.Description(); pCmd.Release();return m_PRecordPtr;_ConnectionPtr ADOConn:GetConnection() if(m_PConnection = NULL)OnInitD
28、BConnect();return m_PConnection;二、 登陸界面響應(yīng)登陸按鈕的消息:void CMyDlg:OnLogin() / TODO: Add your control notification handler code herethis->ShowWindow(SW_HIDE);CAdmin dlg;dlg.DoModal();SendMessage(WM_CLOSE);三、 管理員主界面(CAdmin)主要通過tab控件實(shí)現(xiàn)。定義七個(gè)關(guān)聯(lián)對(duì)話框的實(shí)例對(duì)象CAdminStudent Student; CAdminTeacher Teacher;CAdminCour
29、se Course;CAdminDept Dept;CAdminSelectCoure SeclectCourse;CAdminScore Score;CAdminShow Show;其主要代碼為:BOOL CAdmin:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_tabCtrl.InsertItem(0,_T(" 學(xué)生信息管理");m_tabCtrl.InsertItem(1,_T(" 職工信息管理");m_tabCtrl.InsertItem
30、(2,_T("課程信息管理");m_tabCtrl.InsertItem(3,_T("系信息管理");m_tabCtrl.InsertItem(4,_T("成績管理");m_tabCtrl.InsertItem(5,_T("選課管理");m_tabCtrl.InsertItem(6,_T("報(bào)表統(tǒng)計(jì)");Student.Create(IDD_ADMINSTUDENT,GetDlgItem(IDC_TAB1); Teacher.Create(IDD_ADMINTEACHER,GetDlgItem(
31、IDC_TAB1);Course.Create(IDD_ADMINCOURSE,GetDlgItem(IDC_TAB1);Dept.Create(IDD_ADMINDEPT,GetDlgItem(IDC_TAB1);SeclectCourse.Create(IDD_ADMINSELECTCOURSE,GetDlgItem(IDC_TAB1);Score.Create(IDD_ADMINSCORE,GetDlgItem(IDC_TAB1);Show.Create(IDD_ADMINSHOW,GetDlgItem(IDC_TAB1);/CRect rect;m_tabCtrl.GetClientR
32、ect(rect);rect.top += 20;rect.left += 5;rect.bottom += 5;rect.right += 5;Student.MoveWindow(rect);Teacher.MoveWindow(rect);Course.MoveWindow(rect);Dept.MoveWindow(rect);SeclectCourse.MoveWindow(rect);Score.MoveWindow(rect);Show.MoveWindow(rect);Student.ShowWindow(TRUE);m_tabCtrl.SetCurSel(0);return
33、TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CAdmin:OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereint CurSel = m_tabCtrl.GetCurSel();switch(CurSel)case 0:Student.ShowWindow(
34、TRUE);Teacher.ShowWindow(FALSE);Course.ShowWindow(FALSE);Dept.ShowWindow(FALSE);Score.ShowWindow(FALSE);SeclectCourse.ShowWindow(FALSE);Show.ShowWindow(FALSE);break; case 1: Student.ShowWindow(FALSE);Teacher.ShowWindow(TRUE);Teacher.SetParent(CWnd*)GetDlgItem(IDC_TAB1);Course.ShowWindow(FALSE);Dept.
35、ShowWindow(FALSE);Score.ShowWindow(FALSE);SeclectCourse.ShowWindow(FALSE);Show.ShowWindow(FALSE);break;case 2:Student.ShowWindow(FALSE);Teacher.ShowWindow(FALSE);Course.ShowWindow(TRUE);Dept.ShowWindow(FALSE);Score.ShowWindow(FALSE);Course.SetParent(CWnd*)GetDlgItem(IDC_TAB1);SeclectCourse.ShowWindo
36、w(FALSE);Show.ShowWindow(FALSE);break;case 3:Student.ShowWindow(FALSE);Teacher.ShowWindow(FALSE);Course.ShowWindow(FALSE);Dept.ShowWindow(TRUE);SeclectCourse.ShowWindow(FALSE);Score.ShowWindow(FALSE);Dept.SetParent(CWnd*)GetDlgItem(IDC_TAB1);Show.ShowWindow(FALSE);break;case 4: Student.ShowWindow(FA
37、LSE);Teacher.ShowWindow(FALSE);Course.ShowWindow(FALSE);Dept.ShowWindow(FALSE);Score.ShowWindow(TRUE);Score.SetParent(CWnd*)GetDlgItem(IDC_TAB1);SeclectCourse.ShowWindow(FALSE);Show.ShowWindow(FALSE);break;case 5: Student.ShowWindow(FALSE);Teacher.ShowWindow(FALSE);Course.ShowWindow(FALSE);Dept.Show
38、Window(FALSE);Score.ShowWindow(FALSE);Score.SetParent(CWnd*)GetDlgItem(IDC_TAB1);SeclectCourse.ShowWindow(TRUE);Show.ShowWindow(FALSE);break;case 6: Student.ShowWindow(FALSE);Teacher.ShowWindow(FALSE);Course.ShowWindow(FALSE);Dept.ShowWindow(FALSE);Score.ShowWindow(FALSE);Show.SetParent(CWnd*)GetDlg
39、Item(IDC_TAB1);SeclectCourse.ShowWindow(FALSE);Show.ShowWindow(TRUE);break;default:break;*pResult = 0;四、 學(xué)生信息管理:(CAdminStudent)(一) 主界面:主要添加DataGrid控件、ADO Data Control 6.0 控件、四個(gè)選擇按鈕(二) 添加空能(ADD)的實(shí)現(xiàn):設(shè)計(jì)添加信息的對(duì)話框(CAddStudent)主要代碼:void CAddStudent:OnSex1() / TODO: Add your control notification handler cod
40、e hereSex = "男"void CAddStudent:OnSex2() / TODO: Add your control notification handler code hereSex = "女"BOOL CAddStudent:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_Sex.SetCheck(1);SetWindowCString(Info);return TRUE; / return TRUE unless you set
41、the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CAddStudent:GetString(CString *str,Type *type)str0 = m_Sno;type0 = CSTRING;str1 = m_Name;type1 = CSTRING;str2 = Sex;type2 = CSTRING;str3 = m_Sbirth;type3 = CSTRING;str4.Format("%d",m_Grade);type4 = INT1;str5 = m
42、_Dno;type5 = CSTRING;void CAddStudent:GetString(CString *str)str0 = m_Sno;str1 = m_Name;str2 = Sex;str3 = m_Sbirth;str4.Format("%d",m_Grade);str5 = m_Dno;void CAddStudent:SetWindowCString(CString *Info)if(Info = NULL)return;GetDlgItem(IDC_SNO)->SetWindowText(Info0);GetDlgItem(IDC_SNAME)
43、->SetWindowText(Info1);if(Info2 = "男")m_Sex.SetCheck(1);(CButton*)GetDlgItem(IDC_SEX2)->SetCheck(0);Sex = "男"elsem_Sex.SetCheck(0);(CButton*)GetDlgItem(IDC_SEX2)->SetCheck(1);Sex = "女"GetDlgItem(IDC_SBIRTH)->SetWindowText(Info3);GetDlgItem(IDC_GRADE)->Set
44、WindowText(Info4);GetDlgItem(IDC_DNO)->SetWindowText(Info5);this->Info = NULL;void CAddStudent:SetCString(CString *info)this->Info = info;主程序添加功能的實(shí)現(xiàn):void CAdminStudent:OnAdd() / TODO: Add your control notification handler code hereCAddStudent addDlg;Type type6;CString str6;ADOConn ado;CStri
45、ng Parameters7 = "Sno","Sname","Ssex","Sbirth","Senrolgrade","Dno"if(addDlg.DoModal() = IDOK) addDlg.GetString(str,type); ado.ExcuteStoreProc("InsertStudent",Parameters, str,type);m_adodc.Refresh();m_dataGrid.Refresh();this->Up
46、dateData(FALSE);(三) 查詢功能(SELECT)需要添加的對(duì)話框(CGetSno)CString CGetSno:GetSno()return m_Sno;void CGetSno:SetString(CString str)m_setSno = str;BOOL CGetSno:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization hereGetDlgItem(IDC_SETSNO)->SetWindowText(m_setSno);return TRUE; 主程序添加的代碼:CGe
47、tSno dlg;ADOConn ado;CString Sno;COleDateTime birth;_variant_t data;CString str = "SELECT * FROM Student Where Sno = '"_RecordsetPtr m_Rec = NULL; dlg.SetString("查詢的學(xué)號(hào):");if(dlg.DoModal() = IDOK)Sno = dlg.GetSno();str += Sno;str += "'"if(Sno = _T("")re
48、turn;m_Rec = ado.GetRecordSet(_bstr_t)str);if(m_Rec->adoBOF)MessageBox("查無此人!");return;else str = "學(xué)號(hào): "str += Sno;str +="rn"str += "姓名:"str += m_Rec->GetCollect(_T("Sname").bstrVal;str +="rn"str += "性別"str += m_Rec->GetC
49、ollect(_T("Ssex").bstrVal;str +="rn"str += "出生日期:"data=m_Rec->GetCollect(_T("Sbirth");birth= COleDateTime(data);Sno.Format(_T("%d-%d-%d"),birth.GetYear(),birth.GetMonth(),birth.GetDay();str += Sno;str +="rn"str += "入學(xué)成績:"Sno.Fo
50、rmat("%d",m_Rec->GetCollect(_T("Senrolgrade").bstrVal);str += Sno;str +="rn"str += "所在系號(hào):"str += m_Rec->GetCollect(_T("Dno").bstrVal;MessageBox(str);(四) 修改功能(UPDATE)需要的對(duì)話框前面已經(jīng)設(shè)計(jì) (CAddStudent)(CGetSno)主程序添加的代碼:void CAdminStudent:OnUpdate() / TOD
51、O: Add your control notification handler code hereCGetSno dlg;ADOConn ado;CString Sno;COleDateTime birth;_variant_t data;CString str = "SELECT * FROM Student Where Sno = "_RecordsetPtr m_Rec = NULL;dlg.SetString("修改的學(xué)號(hào):");if(dlg.DoModal() = IDOK)Sno = dlg.GetSno();if(Sno = _T(&qu
52、ot;")return;elsereturn;str += Sno;m_Rec = ado.GetRecordSet(_bstr_t)str);CString Info6;CString VName6 = "Sno","Sname","Ssex","Sbirth","Senrolgrade","Dno"CString GetInfo6;Info0 = Sno;Info1 = m_Rec->GetCollect(_T("Sname").bstrVal;Info2 = m_Rec->
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重大接待培訓(xùn)
- 培訓(xùn)人事文員
- 公司食堂員工培訓(xùn)
- 員工財(cái)務(wù)培訓(xùn)
- 培訓(xùn)企業(yè)價(jià)值觀
- 醫(yī)院護(hù)理人力資源管理配置
- 全身多處軟組織損傷的護(hù)理
- 愛清潔講衛(wèi)生健康最美麗
- 神內(nèi)科護(hù)理常規(guī)
- 2025年企業(yè)可持續(xù)發(fā)展目標(biāo)(SDGs)與海洋資源保護(hù)報(bào)告
- 茅臺(tái)銷售公司筆試題目答案
- 中醫(yī)診斷學(xué)中的慢性阻塞性肺疾病辨證
- 交通占道安全施工方案
- 《膠原蛋白介紹》課件
- 安全檢查:從新手到專家的進(jìn)階指南
- 代人貸款免責(zé)協(xié)議
- 移相變壓器計(jì)算程序標(biāo)準(zhǔn)版
- 開工“第一課”安全培訓(xùn)課件
- 腦挫裂傷臨床路徑
- 文明乘坐高鐵(課件)-(25)小學(xué)生主題班會(huì)通用版
- 【語文】重慶市沙坪壩區(qū)樹人小學(xué)一年級(jí)下冊(cè)期末復(fù)習(xí)試卷
評(píng)論
0/150
提交評(píng)論