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

正文內(nèi)容

客房管理visualc界面設(shè)計及編程實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-25 18:13 本頁面
 

【文章內(nèi)容簡介】 將使用該數(shù)據(jù)庫對象建立 ODBC連接;否則,如果 m_pDatabase 為空指針,對象就需要就新建一個 CDatabase 類對象并使其與缺省的數(shù)據(jù)源相連,然后進行 CRecordSet類對象的初始化。缺省數(shù)據(jù)源由GetDefaultConnect()函數(shù)獲得。也可以通過特定的 SQL 語句為 CRecordSet 類對象指定數(shù)據(jù)源,并以它來調(diào)用CRecordSet類的Open()函數(shù),例如: (AFX_DATABASE_USE_DEFAULT,strSQL)。 如果沒有指定參數(shù),程序則使用缺省的 SQL 語句,即對在 GetDefaultSQL()函數(shù)中指定的SQL語句進行操作,代碼如下: CString CMyRS::GetDefaultSQL() {return _T([Name],[Age])。} 對于 GetDefaultSQL()函數(shù)返回的表名,對應(yīng)的缺省操作是 SELECT語句,例如: SELECT * FROM BasicData,MainSize 在查詢過程中,也可以利用 CRecordSet 類的成員變量 m_strFilter 和 m_strSort 來執(zhí)行條件查詢和結(jié)果排序。 m_strFilter 用于指定過濾字符串,存放著 SQL語句中關(guān)鍵字WHERE后的條件語句;m_strSort 用于指定用于排序的字符串,存放著 SQL語句中關(guān)鍵字 ORDER BY 后的字符串。例如: =Name=39。劉鵬39。 =Age。 ()。 數(shù)據(jù)庫查詢中對應(yīng)的 SQL語句為: SELECT * FROM BasicData,MainSize WHERE Name=39。劉鵬39。 ORDER BY Age除了直接賦值給成員變量 m_strFilter 以外,還可以通過參數(shù)化實現(xiàn)條件查詢。利用參化可以更直觀、更方便地完成條件查詢?nèi)蝿?wù)。參數(shù)化方法的步驟如下:(1) 聲明參變量,代碼如下: CString strName。 int nAge。 (2) 在構(gòu)造函數(shù)中初始化參變量如下: strName =_T()。 nAge =0。 m_nParams=2。 (3) 將參變量與對應(yīng)列綁定,代碼如下: pFXSetFieldType(CFieldExchange::param) RFX_Text(pFX,_T(Name), strName)。 RFX_Single(pFX,_T(Age), nAge)。完成以上步驟之后就可以利用參變量進行條件查詢了,代碼如下: m_pmyRSm_strFilter=Name=? AND age=?。 m_ pmyRS strName =劉鵬。 m_ pmyRS nAge=26。 m_ pmyRS Requery()。 參變量的值按綁定的順序替換查詢字串中的“?”通配符。如果查詢的結(jié)果是多條記錄,可以利用CRecordSet類的成員函數(shù)Move(), MoveNext(), MovePrev(),MoveFirst()和 MoveLast()來移動記錄光標。 記錄添加使用 AddNew()成員函數(shù)能夠?qū)崿F(xiàn)記錄添加,需要注意的是,在記錄添加之前必須保證數(shù)據(jù)庫是以允許添加的方式打開的,代碼如下: m_ pmyRS AddNew()。 // 在表的末尾添加新記錄 m_ pmyRS SetFieldNull(amp。(m_pSetm_type), FALSE)。 m_ pmyRS m_strName=劉鵬。 // 輸入新的字段值 m_ pmyRS m_nAge=26。 // 輸入新的字段值 m_ pmyRS Update()。 // 將新記錄存入數(shù)據(jù)庫 m_ pmyRS Requery()。 // 重新建立記錄集 記錄刪除調(diào)用 Delete()成員函數(shù)能夠?qū)崿F(xiàn)記錄刪除,在調(diào)用 Delete()函數(shù)后不需調(diào)用 Update()函數(shù),代碼如下: m_ pmyRS Delete()。 if (!m_ pmyRS IsEOF()) m_ pmyRS MoveNext()。 else m_ pmyRS MoveLast()。 記錄修改調(diào)用 Edit()成員函數(shù)可以實現(xiàn)記錄修改,在修改完成后需要調(diào)用 Update()將修改結(jié)果存入數(shù)據(jù)庫,代碼如下: m_ pmyRS Edit()。 // 修改當前記錄 m_ pmyRS m_strName=劉波。 // 修改當前記錄字段值 ... m_ pmyRS Update()。 // 將修改結(jié)果存入數(shù)據(jù)庫 m_ pmyRS Requery()。撤銷數(shù)據(jù)庫更新操作:如果用戶增加或者修改記錄后希望放棄當前操作,可以在調(diào)用 Update()函數(shù)之前調(diào) 用Move()函數(shù),就可以使數(shù)據(jù)庫更新撤銷了,代碼如下: CRecordSet::Move(AFX_MOVE_REFRESH)。 該函數(shù)用于撤消增加或修改模式,并恢復在增加或修改模式之前的當前記錄。其中參數(shù)AFX_MOVE_REFRESH 的值為零。 直接執(zhí)行 SQL語句雖然通過 CRecordSet 類我們可以完成大多數(shù)的數(shù)據(jù)庫查詢操作,而且在 CRecordSet類的Open()成員函數(shù)中也可以提供 SQL語句,但有的時候我們還想進行一些其他操作, 例如建立新表、刪除表、建立新的字段等等,這時就需要用到 CDatabase 類的直接執(zhí)行 SQL語句的機制。通過調(diào)用 CDatabase 類的 ExecuteSQL()成員函數(shù)就能夠完成 QL 語句的直接執(zhí)行,代碼如下: BOOL CMyDB::ExecuteSQLWithReport (const CStringamp。 strSQL) { TRY { m_pMyDBExecuteSQL(strSQL)。 // 直接執(zhí)行SQL語句 } CATCH (CDBException,e) { CString strMsg。 (IDS_EXECUTE_SQL_FAILED)。 strMsg+=strSQL。 return FALSE。 } END_CATCH return TRUE。 }需要注意的是,由于不同 DBMS 提供的數(shù)據(jù)操作語句不盡相同,直接執(zhí)行 SQL 語句可能會破壞軟件的DBMS無關(guān)性,因此在應(yīng)用中應(yīng)當慎用此類操作。 MFC ODBC 的數(shù)據(jù)庫操作過程:同 ODBC API編程類似,MFC的ODBC編程也要先建立同 ODBC數(shù)據(jù)源的連接,這個過程由一個 CDatabase 對象的 Open 函數(shù)實現(xiàn)。然后 CDatabase 對象的指針將被傳遞到CRecordSet 對象的構(gòu)造函數(shù)里,使 CRecordSet 對象與當前建立起來的數(shù)據(jù)源連接結(jié)合起來。 完成數(shù)據(jù)源連接之后,大量的數(shù)據(jù)庫編程操作將集中在記錄集的操作上。CRecordSet類的豐富的成員函數(shù)可以讓開發(fā)人員輕松地完成基本的數(shù)據(jù)庫應(yīng)用程序開發(fā)任務(wù)。當然,完成了所有的操作之后,在應(yīng)用程序退出運行狀態(tài)的時候,需要將所有的記錄集關(guān)閉,并關(guān)閉所有同數(shù)據(jù)源的連接。 登陸窗口界面及代碼,登錄時,需要輸入用戶名以及,并單擊“確定”按鈕,完成登錄過程。 登陸界面登陸代碼如下: CDL_Dialog dlg。if(IDOK==()){ CString str。 (SELECT * FROM 服務(wù)員 WHERE 登錄用戶名=39。%s3
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1