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

正文內(nèi)容

數(shù)據(jù)庫(kù)編程總結(jié)推薦(編輯修改稿)

2024-09-30 09:31 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 Use the data members you specified in the calls to// (”%s“, szFoo)。} 決定行集的數(shù)據(jù)類型在運(yùn)行時(shí)決定數(shù)據(jù)類型,要用動(dòng)態(tài)或手工的存取程序。如果用的是手工存取程序,可以用GetColumnInfo函數(shù)得到行集的列信息。從這里可以得到數(shù)據(jù)類型。4總結(jié)由于現(xiàn)在有多種數(shù)據(jù)源,想要對(duì)這些數(shù)據(jù)進(jìn)行訪問(wèn)管理的唯一途徑就是通過(guò)一些同類機(jī)制來(lái)實(shí)現(xiàn),如OLE DB。高級(jí)OLE DB結(jié)構(gòu)分成兩部分:客戶和提供者。客戶使用由提供者生成的數(shù)據(jù)。就像其它基于COM的多數(shù)結(jié)構(gòu)一樣,OLE DB的開(kāi)發(fā)人員需要實(shí)現(xiàn)很多的接口,其中大部分是模板文件。當(dāng)生成一個(gè)客戶對(duì)象時(shí),可以通過(guò)ATL對(duì)象向?qū)е赶蛞粋€(gè)數(shù)據(jù)源而創(chuàng)建一個(gè)簡(jiǎn)單的客戶。ATL對(duì)象向?qū)?huì)檢查數(shù)據(jù)源并創(chuàng)建數(shù)據(jù)庫(kù)的客戶端代理。從那里,可以通過(guò)OLE DB客戶模板使用標(biāo)準(zhǔn)的瀏覽函數(shù)。當(dāng)生成一個(gè)提供者時(shí),向?qū)峁┝艘粋€(gè)很好的開(kāi)端,它們僅僅是生成了一個(gè)簡(jiǎn)單的提供者來(lái)列舉某一目錄下的文件。然后,提供者模板包含了OLE DB支持的完全補(bǔ)充內(nèi)容。在這種支持下,用戶可以創(chuàng)建OLE DB提供者,來(lái)實(shí)現(xiàn)行集定位策略、數(shù)據(jù)的讀寫(xiě)以及建立書(shū)簽。應(yīng)用案例:Visual C++中使用OLE DB讀寫(xiě)SQL Server 在需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),OLE DB總是被認(rèn)為是一種效率最高但最難的方法。但是以我最近使用OLE DB的經(jīng)驗(yàn)看來(lái),OLE DB的效率高則高矣,但卻一點(diǎn)都不難。說(shuō)它難恐怕主要是因?yàn)榭蓞⒖嫉闹形馁Y料太少,為了幫助以后需要接觸OLE DB的同行,我撰寫(xiě)了這篇文章。本文包含如下內(nèi)容: DB寫(xiě)數(shù)據(jù)庫(kù); DB讀數(shù)據(jù)庫(kù); DB對(duì)二進(jìn)制數(shù)據(jù)(text、ntext、image等)的處理。首先來(lái)看看對(duì)SQL Server進(jìn)行寫(xiě)操作的代碼,有一定VC基礎(chǔ)的讀者應(yīng)該可以很順利地看懂。OLE DB寫(xiě)數(shù)據(jù)庫(kù),就是這么簡(jiǎn)單!注:,是一個(gè)在析構(gòu)時(shí)自動(dòng)調(diào)用Release的類。,因?yàn)閳?zhí)行的SQL語(yǔ)句必須是UNICODE的。設(shè)置工程為UNICODE的方法是:首先在projectsettingsC/C++的屬性頁(yè)中的Preprocessor中,刪除_MBCS寫(xiě)入U(xiǎn)NICODE,_UNICODE。然后在link屬性頁(yè)中Category中選擇output,在EntryPoint symbol 中添加wWinMainCRTStartup。EAutoReleasePtr pIDBInitialize。HRESULT hResult = ConnectDatabase(amp。pIDBInitialize, _T(”“), _T(“sa”), _T(”password“))。if(FAILED(hResult)){//失敗,可能是因?yàn)閿?shù)據(jù)庫(kù)沒(méi)有啟動(dòng)、用戶名密碼錯(cuò)等等return。}EAutoReleasePtr pIOpenRowset。hResult = CreateSession(pIDBInitialize, amp。pIOpenRowset)。if(FAILED(hResult)){//出錯(cuò)return。}EAutoReleasePtr pICommand。EAutoReleasePtr pICommandText。hResult = CreateCommand(pIOpenRowset, amp。pICommand, amp。pICommandText)。if(FAILED(hResult)){//出錯(cuò)return。}hResult = ExecuteSQL(pICommand, pICommandText, _T(”USE PBDATA“))。if(FAILED(hResult)){//如果這里失敗,那就是SQL語(yǔ)句執(zhí)行失敗。在此處,就是PBDATA還未創(chuàng)建return。}// 創(chuàng)建表 ExecuteSQL(pICommand, pICommandText, _T(”CREATE TABLE 2005_1(Volume real NOT NULL,ID int NOT NULL IDENTITY)“))。// 添加記錄ExecuteSQL(pICommand, pICommandText, _T(”INSERT INTO 2005_1 VALUES()“))。//...其中幾個(gè)函數(shù)的代碼如下:HRESULT ConnectDatabase(IDBInitialize** ppIDBInitialize, LPCTSTR pszDataSource, LPCTSTR pszUserID, LPCTSTR pszPassword){ASSERT(ppIDBInitialize!= NULL amp。amp。 pszDataSource!= NULL amp。amp。 pszUserID!= NULL amp。amp。 pszPassword!= NULL)。UINT uTimeout = 15U。// 連接數(shù)據(jù)庫(kù)超時(shí)(秒)TCHAR szInitStr[1024]。VERIFY(1023 = wsprintf(szInitStr, _T(”Provider=SQLOLEDB。Data Source=%s。Initial Catalog=master。User Id=%s。Password=%s。Connect Timeout=%u“), pszDataSource, pszUserID, pszPassword, uTimeout))。//Initial Catalog=master指明連接成功后,”USE master“。EAutoReleasePtr pIDataInitialize。HRESULT hResult = ::CoCreateInstance(CLSID_MSDAINITIALIZE, NULL, CLSCTX_INPROC_SERVER,IID_IDataInitialize,(void**)amp。pIDataInitialize)。if(FAILED(hResult)){return hResult。}EAutoReleasePtr pIDBInitialize。hResult = pIDataInitializeGetDataSource(NULL, CLSCTX_INPROC_SERVER,(LPCOLESTR)szInitStr,IID_IDBInitialize,(IUnknown**)amp。pIDBInitialize)。if(FAILED(hResult)){return hResult。}hResult = pIDBInitializeInitialize()。if(FAILED(hResult)){return hResult。}* ppIDBInitialize = ()。return S_OK。}HRESULT CreateSession(IDBInitialize* pIDBInitialize, IOpenRowset** ppIOpenRowset){ASSERT(pIDBInitialize!= NULL amp。amp。 ppIOpenRowset!= NULL)。EAutoReleasePtr pSession。HRESULT hResult = pIDBInitializeQueryInterface(IID_IDBCreateSession,(void**)amp。pSession)。if(FAILED(hResult)){return hResult。}EAutoReleasePtr pIOpenRowset。hResult = pSessionCreateSession(NULL, IID_IOpenRowset,(IUnknown**)amp。pIOpenRowset)。if(FAILED(hResult)){return hResult。}* ppIOpenRowset = ()。return S_OK。}HRESULT CreateCommand(IOpenRowset* pIOpenRowset, ICommand** ppICommand, ICommandText** ppICommandText){ASSERT(pIOpenRowset!= NULL amp。amp。 ppICommand!= NULL amp。amp。 ppICommandText!= NULL)。HRESULT hResult。EAutoRele
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1