VC 資料庫相關

2021-05-26 01:06:32 字數 1941 閱讀 3064

可以用getmodulefilename獲取你的應用程式的路徑。。。。

接著可以用字串操作修改你想要的路徑

char   spath[255];

getmodulefilename(null,spath,255);

char   szpath[max_path]   =   ;

getmodulefilename(null,   szpath,   max_path);

int   i;

for   (i=max_path-1;   i> =0;   i--)

if   (szpath[i]   ==   '// ')

cstring   strdbpath;

strdbpath.format( "%s ",   szpath);

首先,要用#import語句來引用支援ado的元件型別庫(*.tlb),其中型別庫可以作為可執行程式(dll、exe等)的一部分被定位在其自身程式中的附屬資源裡,如:被定位在msado15.dll的附屬資源中,只需要直接用#import引用它既可。可以直接在stdafx.h檔案中加入下面語句來實現:

#import "c:/program files/common files/system/ado/msado15.dll" /

no_namespace /

rename ("eof", "adoeof")

其中路徑名可以根據自己系統安裝的ado支援檔案的路徑來自行設定。當編譯器遇到#import語句時,它會為引用元件型別庫中的介面生成包裝類,#import語句實際上相當於執行了api涵數loadtypelib()。#import語句會在工程可執行程式輸出目錄中產生兩個檔案,分別為*.tlh(型別庫標頭檔案)及*.tli(型別庫實現檔案),它們分別為每乙個介面產生智慧型指標,並為各種介面方法、列舉型別,clsid等進行宣告,建立一系列包裝方法。語句no_namespace說明ado物件不使用命名空間,rename ("eof", "adoeof")說明將ado中結束標誌eof改為adoeof,以避免和其它庫中命名相衝突。

其次,在程式初始過程中需要初始化元件,一般可以用coinitialize(null);來實現,這種方法在結束時要關閉初始化的com,可以用下面語句couninitialize();來實現。在mfc中還可以採用另一種方法來實現初始化com,這種方法只需要一條語句便可以自動為我們實現初始化com和結束時關閉com的操作,語句如下所示: afxoleinit();

接著,就可以直接使用ado的操作了。我們經常使用的只是前面用#import語句引用型別庫時,生成的包裝類.tlh中宣告的智慧型指標中的三個,它們分別是_connectionptr、_recordsetptr和_commandptr。下面分別對它們的使用方法進行介紹:

1、_connectionptr智慧型指標,通常用於開啟、關閉乙個庫連線或用它的execute方法來執行乙個不返回結果的命令語句(用法和_commandptr中的execute方法類似)。

——開啟乙個庫連線。先建立乙個例項指標,再用open開啟乙個庫連線,它將返回乙個iunknown的自動化介面指標。**如下所示:

_connectionptr m_pconnection;

// 初始化com,建立ado連線等操作

afxoleinit();

m_pconnection.createinstance(__uuidof(connection));

// 在ado操作中建議語句中要常用try...catch()來捕獲錯誤資訊,

// 因為它有時會經常出現一些意想不到的錯誤。jingzhou xu

try                

catch(_com_error e)

——關閉乙個庫連線。如果連線狀態有效,則用close方法關閉它並賦於它空值。**如下所示:

if(m_pconnection->state)

m_pconnection->close();

m_pconnection= null;

VC 資料庫連線

1.建立基於對話方塊的mfc應用程式 放置乙個list box和乙個按鈕 2.在stdafx.h中加入 import c program files common files system ado msado15.dll no namespace rename eof rseof 3.在按鈕觸發事件...

資料庫相關

1.操作類 godb public goosundb open throws sqlexception public void close public cursor search int mark mark mark,null,null,null,col date desc if cursor n...

資料庫相關

資料庫的設計 分庫分表,記憶體資料庫,主從讀寫分離,資料庫中介軟體mycat 整合了主從讀寫分離,分庫分表等功能 資料庫優化 sql語句優化,資料庫配置優化,索引優化,資料庫設計優化 資料庫的鎖 1.樂觀鎖,表中增加版本字段,每次更改加1,查的時候先把版本字段查出來,更新的時候加上條件版本欄位沒變,...