freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

自動(dòng)閱卷系統(tǒng)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)-閱讀頁(yè)

2024-12-23 17:16本頁(yè)面
  

【正文】 打開(kāi)數(shù)據(jù)庫(kù)。在已有的數(shù)據(jù)庫(kù)中創(chuàng)建空表主要有三種方法:將數(shù)據(jù)直接輸入到空白的數(shù)據(jù)表中,當(dāng)保存新的數(shù)據(jù)時(shí), Access將分析數(shù)據(jù)并且自動(dòng)為每一字段指定適當(dāng)?shù)臄?shù)據(jù)類型 及格式。使用表向?qū)?lái)選擇表的字段,這些字段可以從各樣預(yù)先定義好的表中選擇。 再次數(shù)據(jù)庫(kù)中需要?jiǎng)?chuàng)建 數(shù)據(jù) 表,分別存放用戶信息表、 題目 信息表、 成績(jī) 信息表等。 ( 2)按照下圖所示定義表中的每一個(gè)字段。 ( 3)保存表。 ( 4)當(dāng)我們需要將該表設(shè)置為主鍵時(shí),該字段左邊的灰色字段選擇器上出現(xiàn)一個(gè)鑰匙圖案,表明主關(guān)鍵字已經(jīng)被選取。 ER 模型 為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來(lái),通常要建立一個(gè)概念性的數(shù)據(jù)模型(也稱為信息模型)。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實(shí)環(huán)境,且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無(wú)關(guān)。 正如前所述 ,ADO 是訪問(wèn)數(shù)據(jù)庫(kù)的一個(gè)方法,它提供了不同的接口。 _ConnectionPtr 接口返回一個(gè)記錄集或一個(gè)空指針。使用_ConnectionPtr 接口返回一個(gè)記錄集不是一個(gè)好的使用方法。而用 _ConnectionPtr 操作時(shí)要想得到記錄條數(shù)得遍歷所有記錄,而用 _RecordserPtr 時(shí)不需要。它提供了一種簡(jiǎn)單的方法來(lái)執(zhí)行返回記錄集的存儲(chǔ)過(guò)程和 SQL 語(yǔ)句。如果你只執(zhí)行一次或幾次數(shù)據(jù)訪問(wèn)操作,后者是比較好的選擇。 _RecordsetPtr是一個(gè)記錄集對(duì)象。同 _CommandPtr 接口一樣,它不一定要使用一個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)連接,可以用一個(gè)連接串代替連接指針賦給_RecordsetPtr 的 connection 成員變量,讓它自己創(chuàng)建數(shù)據(jù)連接。 根據(jù)這些,我們將數(shù)據(jù)庫(kù)的各種操作封裝到 CMyDatabase 類里。 CString szMsg。 } if (FAILED(())) { (Create _ConnectionPtr Instance failed:(%d)!,GetLastError())。 return。 AfxMessageBox(szMsg)。 } if (FAILED(())) { (Create _CommandPtr Instance failed:(%d)!,GetLastError())。 return 。 } CMyDatabase::~CMyDatabase() {//析構(gòu)函數(shù)中釋放 ()。 ()。 return FALSE。 (Provider=。%s39。 TRACE(%s\r\n%s,Database,strSRC)。 m_pConnectionCursorLocation=adUseClient。 } catch (__error amp。 (%s,())。 return FALSE。 } BOOL CMyDatabase::Excute(CString Sql) {//執(zhí)行 SQL語(yǔ)句 _bstr_t bstrSql(Sql)。 m_pCommandCommandText=bstrSql。 m_pCommandParametersRefresh()。 } catch (__error amp。 (%s,())。 return FALSE。 } void CMyDatabase::Close() { try { if(m_pConnection) { if(m_pConnectionState == adStateOpen) m_pConnectionClose()。e) { CString szMsg。 AfxMessageBox(szMsg)。 } } BOOL CMyDatabase::IsEOF() {//判斷記錄集是否為空 if(m_pRecordPtrGetadoEOF()) return TRUE。 } CString CMyDatabase::GetValueByName(CString coName) {//根據(jù)字段來(lái)取記錄值 _variant_t varValue。 varValue = m_pRecordPtrGetCollect(varName)。 CCommon::Trim(Value)。 } 程序的詳細(xì)設(shè)計(jì) 程序設(shè)計(jì) 該系統(tǒng)采用對(duì)話框形式作為主界面。整個(gè)系統(tǒng)中,主界面 CFrozenFoodManageDlg 類有一個(gè)對(duì)象 m_db,這個(gè)就是與數(shù)據(jù)庫(kù)保存連接的數(shù)據(jù)庫(kù)對(duì)象。 統(tǒng)計(jì)界面 教師 登陸成功后,系統(tǒng)最下方狀態(tài)欄會(huì)提示。 核心代碼 : 對(duì)于答案的分析,是該系統(tǒng)的核心部分,該系統(tǒng)按照 SQL 語(yǔ)句, VF 語(yǔ)句的規(guī)則對(duì)字符串進(jìn)行解析,包括對(duì)正確答案和用戶答案兩部分進(jìn)行解析到數(shù)組里,并對(duì)兩個(gè)數(shù)組進(jìn)行匹配操作,如果不符合規(guī)則,可以判定是錯(cuò)誤的,否則認(rèn)為是正確答案。 語(yǔ)句條件判斷時(shí)區(qū)分不正確的列名 語(yǔ)句條件判斷時(shí)候,運(yùn)算符號(hào)的另義表示法 .如 ab 等價(jià)于 b a, a = b 等價(jià)于 b = a select,delete,create,remove,drop,open,rename,update,等語(yǔ)句 ,可以給出相應(yīng)的錯(cuò)誤說(shuō)明。 核心的代碼見(jiàn)附錄。進(jìn)行添加時(shí)候,如果各個(gè)編號(hào)已經(jīng)存則會(huì)提出相應(yīng)的提示,刪除前如果沒(méi)有選擇記錄,也會(huì)相應(yīng)有提示,這樣可以保證數(shù)據(jù)庫(kù)的完整性,也比較人性化。 2) 系統(tǒng)的設(shè)計(jì)最好采用模塊化,采用軟件工 程提倡的高聚合,低耦合。但是這一段的實(shí)踐和學(xué)習(xí),大大提高了我解決實(shí)際問(wèn)題的能力,確實(shí)使我收獲很多,提高很大,想信對(duì)我以后的學(xué)習(xí)生活都會(huì)大有裨益。最后,要感謝和我同組做畢業(yè)設(shè)計(jì)的同學(xué),這份畢業(yè)設(shè)計(jì)的成果是大家共同努力的結(jié)果。 附 錄 部分代碼如下 : // : implementation file // include include include include include include include include ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }。 // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }。 //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAutoCheckExamDlg dialog CAutoCheckExamDlg::CAutoCheckExamDlg(CWnd* pParent /*=NULL*/) : CDialog(CAutoCheckExamDlg::IDD, pParent) { //{{AFX_DATA_INIT(CAutoCheckExamDlg) m_sMyAnswer = _T()。 m_sExePath = 。 m_bConnected = FALSE。 m_nMdbCount =0 。 m_nCurrentTh = m_nMaxCount。 m_bIsMark = FALSE。 m_nRightNum = 0。m_ExamNode,0,sizeof(m_ExamNode))。 //{{AFX_DATA_MAP(CAutoCheckExamDlg) DDX_Control(pDX, IDC_Right_BUTTON, m_RightButton)。 DDX_Text(pDX, IDC_ANSWER_EDIT, m_sMyAnswer)。 ///////////////////////////////////////////////////////////////////////////// // CAutoCheckExamDlg message handlers BOOL CAutoCheckExamDlg::OnInitDialog() { CDialog::OnInitDialog()。 0xFFF0) == IDM_ABOUTBOX)。 CMenu* pSysMenu = GetSystemMenu(FALSE)。 (IDS_ABOUTBOX)。 pSysMenuAppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu)。s main window is not a dialog SetIcon(m_hIcon, TRUE)。 // Set small icon // TODO: Add extra initialization here //load the tool bar if (!(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !(IDR_TOOLBAR1)/*,CliectRect*/) { TRACE(Failed to create toolbar:%d\n,GetLastError())。 // fail to create } //load the status bar if (!(this) || !(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0(Failed to create status bar\n)。 // fail to create } //format the status bar UINT nID。 //第一個(gè)格格, 100,大小,樣式 (0,nID,SBPS_STRETCH,100)。 (0,szTip)。 (IDS_NAME)。 //第三個(gè)格格, 100,大小,樣式 (2,nID,SBPS_STRETCH,100)。 (2,szTip)。 (IDS_STARTTIME)。 (4,nID,SBPS_STRETCH,100)。 (4,szTip)。 CString szExePath = GetExePath()。 szExePath += g_DatabaseName。 return FALSE。 //讀 ini文件 ,得到最近考試題目的 ID CString szIniPath。 CreateIni(szIniPath)。 SetStaticProm(IDC_HAVEDONE_STATIC,0)。 SetWindowText(自動(dòng)閱卷系統(tǒng) )。 // return TRUE unless you set the focus to a control } void CAutoCheckExamDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID amp。 ()。 } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CAutoCheckExamDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1