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

正文內(nèi)容

vc操作數(shù)據(jù)庫簡介(文件)

2025-09-25 16:48 上一頁面

下一頁面
 

【正文】 一個新的記錄。 在調(diào)用函數(shù) Update之前,在調(diào)用了 AddNew 函數(shù)或是 Edit 函數(shù)后,調(diào)用才有效,它能夠取消一個對數(shù)據(jù)源的修改的動作。 22. CRecordset::Update virtual BOOL Update( )。 throw( CDBException, CMemoryException )。 Move 函數(shù)的調(diào)用將會結(jié)束現(xiàn)行的 AddNew 動作或是 Edit 動作,同時將會保存當(dāng)前的記錄的數(shù)據(jù),至到函數(shù) AddNew或是Edit函數(shù)被調(diào)用。 SetAbsolutePosition SQL_FETCH_BOOKMARK 設(shè)定書簽,位置有參數(shù) nRows 指定 SetBookmark 同樣的可以用函數(shù) MoveNext、 MovePrev、 MoveFirst、 MoveLast、 SetAbsolutePosition、SetBookmark等來 完成移動記錄指針的功能,不再詳細(xì)列出。 該函數(shù)是得到相應(yīng)的缺省的 SQL語句。調(diào)用這個函數(shù)就是為了刷新記錄集,如果成功,第一個記錄就變成當(dāng)前的記錄。 因 為篇幅的限制,不能將 CRecordset類的成員函數(shù)一一列出,但是常用的函數(shù)已經(jīng)在上面列出來了,要是讀者用到其它成員函數(shù),請翻閱相應(yīng)的文檔或是查看 MSDN。 需要注意的是,這也是一個 ODBC的類,如果用了 DAO( Data Access Objects)類,那么使用的異常類就是 CdaoException。但是執(zhí)行應(yīng)用程序時,由于用戶編程所造成的錯誤,是不考慮在異常中的,比如應(yīng)用程序中有一個死循環(huán),不算異常的情況。 它包含了一個結(jié)構(gòu)體 RETCODE ,里面包含了 ODBC 的錯誤信息的描述,這個結(jié)構(gòu)體是由 ODBC接口的 API函數(shù)來填寫的??赡苡脩魧⒁粋€空的CDatabase類的指針傳給了一個 CRecordSet。動態(tài)集沒有被使用到的驅(qū)動支持。 AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED:給想修改的數(shù)據(jù)加鎖時,所用的 ODBC驅(qū)動并不支持加鎖的功能。 AFX_SQL_ERROR_NO_POSITIONED_UPDATES:要求動態(tài)集請 求失敗,因為所用的 ODBC驅(qū)動沒有辦法支持位置更新。 AFX_SQL_ERROR_ODBC_V2_REQUIRED:需要一個動態(tài)集的要求無法實現(xiàn),因為沒有一個 Level 2pliant ODBC 驅(qū)動。 (這僅僅是在一個動態(tài)文件。 AFX_SQL_ERROR_RECORDSET_READONLY:用戶視圖修改一個只讀的記錄集或是數(shù)據(jù)源。這表明是編程者自己造成的錯誤。這個字符 串的格式如下:“ State:%s,Native:%ld,Origin:%s”。這個錯誤描敘由幾個 括號組成。應(yīng)用框架同時將一個包含數(shù)字和字符的描敘放在變量 m_strError中。 可以在自己的程序中調(diào)用這個函數(shù),以便用來拋出一個異常。加在記錄菜單下面(如圖 1515所示) 1515菜單資源 并映射消息處理處理函數(shù)到視圖類中去,下表列出了需要響應(yīng)的菜單函數(shù): 菜單命令 菜單 ID COMMAND命令響應(yīng)函數(shù) UPDATE_COMMAND_UI命令響應(yīng)函數(shù) 增加一個記錄 ID_ADDRECORD OnAddrecord 刪除一個記錄 ID_OMITRECORD OnOmitrecord OnUpdateOmitrecord 更新記錄 ID_UPDATERECORD OnUpdaterecord OnUpdateUpdaterecord 清除域 ID_CLEAR OnClear 在映射 COMMAND命令響應(yīng)函數(shù)的時候,使用 ClassWizard,如圖 1516所示,加入UPDATE_COMMAND_UI 命令響應(yīng)函數(shù)就如圖 1517 所示。 一下就是 OnMove函數(shù)的代碼,其中粗體就是新加入的,請注意: BOOL CDBViewView::OnMove(UINT nIDMoveCommand) { // TODO: Add your specialized code here and/or call the base class switch(nIDMoveCommand) { case ID_RECORD_PREV: m_pSetMovePrev()。 case ID_RECORD_NEXT: m_pSetMoveNext()。 } case ID_RECORD_LAST: m_pSetMoveLast()。 return TRUE。 }
。 } 添加菜單響應(yīng)函數(shù) 現(xiàn)在添加菜單的響應(yīng)函數(shù),所有用到的函數(shù)在前面都有說明,請讀者參照前面的函數(shù)說明并和程序進行比較。 default: //異常情況 ASSERT(FALSE)。 if(!m_pSetCanScroll()) { //清空屏幕 m_pSetSetFieldNull(NULL)。 //如果移到記錄集的開始,自動執(zhí)行 MoveFirst 函數(shù) case ID_RECORD_FIRST: m_pSetMoveFirst()。將 OnMove函數(shù)加入到視圖類中,這樣就可以重載函 數(shù) OnMove了。 實例介紹 讀者還記得我在上面建立的工程嗎?現(xiàn)在請將它調(diào)出來,我們將在上面在進行二次開發(fā)。 ? pdb:用來指示現(xiàn)在正在連接的數(shù)據(jù)源,用來表示錯誤是從那個數(shù)據(jù)源出來的。例如: [Microsoft][ODBC SQL Server Driver][SQL Server] 應(yīng)用框架將這些錯誤字符翻譯過來,并且將錯誤描敘方在變量 m_strStateNativeOrigin。例如: “S0022”。詳細(xì)的情況請看另外一個成員變量m_strStateNativeOrigin。錯誤信息由全 局函數(shù) ::SQLError 返回,并且儲存在變量m_strError 中。 AFX_SQL_ERROR_SQL_NO_TOTAL: ODBC驅(qū)動無法得到一個 ClongBinary類型數(shù)據(jù)的大小。 AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED:函數(shù) CRecordset::Open 在請求一個 snapshot 的時候失敗。 AFX_SQL_ERROR_ODBC_LOAD_FAILED:試圖加載 ODBC 驅(qū)動的動作失敗,Windows系統(tǒng)無法找到或是加載驅(qū)動。 AFX_SQL_ERROR_NO_CURRENT_RECORD:試圖修改或是刪除一個已經(jīng)刪除的記錄。 AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH :一個 RFX類型的函數(shù)在用戶的 DoFieldExchange 函數(shù)中被重構(gòu)了,但是卻不符合記錄集中的列的數(shù)據(jù)。 AFX_SQL_ERROR_DATA_TRUNCATED:無法得到更多的儲存空間來存放數(shù)據(jù)。它又下面的幾個值: AFX_SQL_ERROR_API_CONFORMANCE :所用到的 ODBC 驅(qū)動的函數(shù)CDatabase::OpenEx或是 CDatabase::Open 函數(shù)并不是符合 ODBC 的標(biāo)準(zhǔn),無法打開相應(yīng)的數(shù)據(jù)源。同樣的用戶也可以用全局函數(shù)AfxThrowDBException(這個函數(shù)在下面有介紹)拋出一個異常的類,來顯示一個異常的情況。 異常就是超出編程控制范圍的不正常情況。這個類包括兩個成員數(shù)據(jù)變量,可以用來判斷異常的原因和顯示一段異常消息給用戶。如果記錄集是一個 dynaset,它會自動刷新記錄集;如果記錄集是一個 snapshot, 則必須調(diào)用函數(shù)來看到對記錄集的修改。 throw( CDBException, CMemoryException )。 函數(shù)的返回值是一個 Cstring類的指針,它指向了一個缺省連接的數(shù)據(jù)源。 ? wFetchType:指定將要進行的動作,一共下面的幾個取值,請看下表: WfetchType 記錄指針動作 相應(yīng)的成員函數(shù) SQL_FETCH_RELATIVE (缺省值 ) 移動到離第一個記錄距離的一定行數(shù)的記錄上,行數(shù)由參數(shù) nRows 指定 沒有 SQL_FETCH_NEXT 移向下一個記錄 MoveNext SQL_FETCH_PRIOR 移向前一個記錄 MovePrev SQL_FETCH_FIRST 移向第一個記錄 MoveFirst SQL_FETCH_LAST 移向最后一個記錄 MoveLast SQL_FETCH_ABSOLUTE 如果參數(shù) nRows 大于零,設(shè)置的位置為離開始有 nRows 行,要是 nRows 小于零,設(shè)定的位置離最后又 | nRows|行遠。 調(diào)用這個成員函數(shù),在記錄集中移動記錄指針,或者向前,或者向后。 當(dāng)這個函數(shù)調(diào)用成功后,一 個記錄就被修改了,要是沒有記錄被修改,或是多個記錄被修改了,就會有一個異常拋出。 throw( CDBException )。同時只有調(diào)用了函數(shù) Requery才能在記錄集中看見新的記錄。 19 CRecordset::AddNew virtual void AddNew( )。 17 CRecordset::IsEOF BOOL IsEOF( ) const。 GetSQL( ) const。 13. CRecordset::GetTableName const CStringamp。 用到記錄集中的記錄的個數(shù),返回值就是記錄的個數(shù)。 用來判斷是否 數(shù)據(jù)源能夠更新。 用來判斷數(shù)據(jù)源是否支持翻閱的功能,要是支持返回非零值,否則返回零值。 用來判斷是否數(shù)據(jù)源支持書簽的功能,要是支持,返回值是非零值,否則返回零值。 用來關(guān)閉一個 CRecordset記錄集。 CRecordset::executeDirect。 CRecordset::useMultiRowFetch。 DwOptions是用來指定打開數(shù)據(jù)的風(fēng)格,可以是以下風(fēng)格的組合: CRecordset::none。要是指針是 NULL 的話,就打開用戶在 ClassWizard中選定的數(shù)據(jù)源。 6. CRecordset::m_strSort 在你構(gòu)造了一個 CRecordset類后,在調(diào)用 Open函數(shù)之前,使用這個變量來填寫一個Cstring的變量。當(dāng)你沒有用 Bulk RFX 的時候, ClassWizad自動填寫,當(dāng)然你也可以手動填寫。 在 CRecordset 的派生類中,使用 RFX或是 bulk record field exchange (Bulk RFX) ,大容量的記錄交換,用來支持讀取和修改記錄域。在調(diào)用 Open 函數(shù)從數(shù)據(jù)源中讀取數(shù)據(jù)后,可以 在 CRecordset的派生類用它的成員函數(shù)來翻閱記錄和處理記錄。 ? 給記錄集排序。 為了能夠處理各種的記錄集,最好從類 CRecordset派生出一個子類來。CRecordset類使用兩種典型的表: dynasets and snapshots。要是讀者用到的話,請翻閱MSDN 或是相應(yīng)的技術(shù)文檔。 開始一個事務(wù)的操作,要是成功啟動了一個對于當(dāng)前連接的數(shù)據(jù)源的事務(wù),函數(shù)將返回非零值,否則返回零值。 用來判斷當(dāng)前的對象是否連接著數(shù)據(jù)源,要是的話,返回值為非零值,沒有連接的時候,返回值為零值。要是沒有生效,可以翻轉(zhuǎn)回原來的狀態(tài)重新執(zhí)行,或是翻回去后執(zhí)行其它的事務(wù)。所謂事務(wù) 就是數(shù)據(jù)庫中一個數(shù)據(jù)處理過程。 GetConnect( ) const。要是支持,返回值為非零值,否則為零值。 參數(shù) lpszSQL 是一個指向一句合法的 SQL 語句的字符指針。 關(guān)閉一個 CDatabase關(guān)聯(lián)的數(shù)據(jù)源時,要調(diào)用函數(shù) Close。它可以是下面幾種方式的組合: DwOptions 說明 CDatabase::openExclusive 現(xiàn)在的 VC版本不支持 CDatabase::openReadOnly 以只讀的方式讀出 CDatabase::useCursorLib 加載 ODBC Cursor Library DLL CDatabase::noOdbcDialog 不出現(xiàn) ODBC 連接對話框 CDatabase::forceOdbcDialog 總要出現(xiàn) ODBC 連接對話框 如果參數(shù) lpszConnectString的信息不夠完全,系統(tǒng)會從 ODBC對話框來得到相應(yīng)的信息。例如:DSN=SQLServer_Source。 4. CDatabase::OpenEx virtual BOOL OpenEx( LPCTSTR lpszConnectString, DWORD dwOptions = 0 ); throw( CDBException, CMemoryException ); 如果一個連接成功的話,就會返回一個非零值。 ? bUseCursorLib:為真時,加載 ODBC的 Cursor Library DLL文件。 它的參數(shù)說明如下: ? lpszDSN:用來設(shè)定一個數(shù)據(jù)源的名字,這個名字必須是在 ODBC的控制臺中登記的,如果在參數(shù) lpszConnect 已經(jīng)有了一個 DSN值的話,這個參數(shù)可以設(shè)為 NULL。 throw( CDBException, CMemoryException )。 2. CDatabase::CDatabase C
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1