VC訪問資料庫技術的方法例項

2022-12-15 20:00:03 字數 1868 閱讀 3541

1. odbc——開放資料庫互聯

odbc為使用不同的關聯式資料庫提供了乙個統一的程式設計介面。在安裝不同的資料庫後,需要建立odbc資料來源,2. dao——資料訪問物件3. rdo——遠端資料物件

4. ole db——物件連線與嵌入資料庫資料物件

這裡我說明我使用的兩種方法:odbc和ado。

在安裝資料庫首先要建立odbc資料來源,使用cdatabase和crecordset兩個mfc的類與資料庫建立連線,訪問資料庫。條件

包含標頭檔案:#include <>

宣告成員變數:cdatabase m_dbpostgre;連線資料庫

int nretval;

nretval = m_ _t( "dsn=postgresql30w;uid=postgre;pwd=postgre" ),cdatabase::openreadonly | cdatabase::noodbcdialog );if ( nretval )

訪問資料

crecordset recordset( &m_dbpostgre );

cstring strsql = _t( "select * from product" );

crecordset::forwardonly, strsql, crecordset::readonly );

cdbvariant var;

while ( ! )

變數的宣告

_connectionptr m_pconnection;連線資料庫

m_ __uuidof(connection) );

m_pconnection->connectionstring = _t( "dsn=postgresql30w;uid=postgre;pwd=postgre" );hresult hr = m_pconnection->open( _t(""), _t(""), _t(""), adconnectunspecified );if ( succeeded( hr ) )

訪問資料庫

_commandptr pcommand(__uuidof(command));_recordsetptr precordset( __uuidof(recordset) );

cstring strsql = _t( "select * from \"pg_getproductinfo\"()" );

trycatch (_com_error & e)

_variant_t var;

int nrecordnum = precordset->getrecordcount();

while( !precordset->getadoeof() )

precordset->close();

總結:現在dao和rdo這兩種技術已經很少使用了,ole db和ado這兩種是比較新的技術,ole db的功能非常強大,但是他對自動化的支援不是很好。為了更好地支援自動化,微軟在ole db的基礎上開發了ado,便於像vbscript這樣的指令碼語言,以及vb,delphi這樣的語言都可以很方便的使用ado去訪問資料庫。

上面兩種技術對於不同的關聯式資料庫,使用方法都是一樣的,不同的就是資料來源,名稱,密碼以及sql語句的呼叫方式。

舉個例子:以呼叫儲存過程為例

sqlserver2000的呼叫方法是」」,如果不帶引數,則沒有小括號,如果帶引數,字串的引數需要加單引號。

postgre的呼叫方法是」 _t( "select\"pg_modifyoneproduct\"( %d, '%s' )"」,「\「是轉義字元,因為在postgre定義儲存過程時,如果儲存過程名稱加上了雙引號,那麼在呼叫的時候,就一定要加上雙引號,sql中應該就是這麼規定的。還有乙個儲存過程如果是想返回表中所有記錄,那麼在呼叫儲存過程的時候就要使用selece * from儲存過程名。

資料庫訪問

一 資料庫配置 1 在資料庫節點新增新建嚮導頁,使使用者能夠直觀的一步步建立資料庫。與2008相比優點 1 訪問名稱 可以直接修改名稱 2008只能在節點處修改 2 最近連線 比較方便的找到最近使用的資料庫 2008中也有此功能,只是比較隱蔽 3 新建連線 2008中需要彈出3個對話方塊 資料來源配...

例項講解MySQL資料庫的查詢優化技術

資料庫系統是管理資訊系統的核心,基於資料庫的聯機事務處理 oltp 以及聯機分析處理 olap 是銀行 企業 等部門最為重要的計算機應用之一。從大多數系統的應用例項來看,查詢操作在各種資料庫操作中所佔據的比重最大,而查詢操作所基於的select語句在sql語句中又是代價最大的語句。舉例來說,如果資料...

網路資料庫技術

1.2.1 網路資料庫系統的定義 資料庫技術 網路技術 網路資料庫 網路資料庫系統 是在計算機網路環境下執行的資料庫系統,它的資料庫分散配置在網路節點上,將資料庫系統的事務分開進行處理,為網路使用者提供遠端資料庫訪問服務,實現了網路的分布式計算。1.2.2 網路資料庫系統的模式結構 集中式客戶機 伺...