對於資料庫的訪問技術,主要知識點如下。
1.ole db(oledb)是微軟的戰略性的通向不同的資料來源的低階應用程式介面。ole db不僅包括微軟資助的標準資料介面開放資料庫連通性(odbc)的結構化問題語言(sql)能力,還具有面向其他非sql資料型別的通路。ole 全稱 object link and embed,即物件連線與嵌入。
2.ado (activex data objects,activex資料物件)是microsoft提出的應用程式介面(api)用以實現訪問關係或非關聯式資料庫中的資料。ado向我們提供了乙個熟悉的,高層的對ole db的automation封裝介面。對那些熟悉rdo的程式設計師來說,你可以把ole db比作是odbc驅動程式。如同rdo物件是odbc驅動程式介面一樣,ado物件是ole db的介面;如同不同的資料庫系統需要它們自己的odbc驅動程式一樣,不同的資料來源要求它們自己的ole db提供者(ole db provider)。但微軟正積極推廣該技術,並打算用ole db取代odbc。
ado庫包含三個基本介面:_connectionptr介面、_commandptr介面和_recordsetptr介面。
1>_connectionptr介面
返回乙個記錄集或乙個空指標。通常使用它來建立乙個資料連線或執行一條不返回任何結果的sql語句,如乙個儲存過程。
2>_commandptr介面
返回乙個記錄集。它提供了一種簡單的方法來執行返回記錄集的儲存過程和sql語句。
3>_recordsetptr介面
是乙個記錄集物件。與以上兩種物件相比,它對記錄集提供了更多的控制功能,如記錄鎖定,游標控制等。
3.預編譯指令
objective-c
:#import
c,c++
:#include
#import由gcc編譯器支援
在 objective-c 中,#import 被當成 #include 指令的改良版本來
使用。除此之外,#import 確定乙個
檔案只能被匯入一次,這使你在遞迴包含中不會出現問題。
使用哪乙個還是由你來決定。一般來說,在匯入 objective-c 標頭檔案的時候使用 #import,包含 c 標頭檔案時使用 #include。
#import "c:\program files\common files\system\ado\msado15.dll' no_namespace rename("eof","rseof")
上述操作為利用import指令將動態鏈結庫匯入。
4.coinitialize是windows提供的
api函式,用來告訴 windows以
單執行緒的方式建立com物件。應用程式呼叫com
庫函式(除
cogetmalloc
和記憶體分配
函式)之前必須初始化com庫。
hresult coinitialize(
_in_opt_ lpvoid pvreserved
);引數被保留,且必須為null。
返回值 s_ok : 該執行緒中com庫初始化成功;s_false: 該執行緒中com庫已經被初始化 coinitialize () 標明以單執行緒方式建立。
coinitialize和couninitialize必須成對使用。
5.hresult recordset15::open ( const _variant_t & source, const _variant_t & activeconnection, enum cursortypeenum cursortype, enum locktypeenum locktype, long options )
其中:
①source是資料查詢字串
②activeconnection是已經建立好的連線(我們需要用connection物件指標來構造乙個_variant_t物件)
③cursortype游標型別,它可以是列舉結構。
④locktype鎖定型別,它可以是列舉結構
資料庫學習
資料庫 基礎概念 三個正規化 事務acid 隔離級別 測試造資料 資料庫設計 三找找屬性 找實體找關係 表引擎的選擇 myisam 表所 inodb 行鎖 memory 不能持久化 sfenxs 全文索引 sql調優 order by null desc explain key rows extra...
資料庫學習初步學習
select from web insert into web name,url,alexa,country values 13,cn insert into web name,url,alexa,country values 菜鳥教程 4689,cn insert into web name,ur...
資料庫學習 DDL(資料庫定義語言)
create database if not exists 庫名 說明 if not exists的存在為了保證資料庫是唯一的,同時保證程式不阻塞drop database if exists 庫名 說明 if exists 為保證程式不阻塞show create table 表名 展示建立表的時候...