C 訪問Access資料庫

2021-08-23 15:48:58 字數 2470 閱讀 5338

我編寫這個程式的動機是當我希望用c sharp訪問msaccess資料庫的時候我沒有辦法獲得任何資訊和參考材料.網上所能獲得的所有材料都是偏重於sql的,所以我們將分兩步來編寫這個應用程式,第一我們將展示如何連線到msaccess資料庫然後看看它有多複雜.最後,我們就這樣完成了這個程式.

閒言少序,讓我們開始正題.連線到資料庫的過程與我們早先的ado連線過程相比已經發生了較大的變化.下面的圖表恰當的(我希望如此)oledbconnection--> oledbcommand --> oledbdatareader.現在那些熟悉ado的人很明顯能看出兩者的相似之處但是為了使那些還沒有很好的適應ado的人能夠明白,下面是一些解釋.

oledbconnection -->代表對資料庫的單一連線,根據底層資料庫的功能它能給你操縱資料庫的能力.有一點必須記住,雖然oledbconnection物件出了作用範圍,它也不會自動被關閉.所以,你將不得不顯示的呼叫這個物件的close()方法.

oledbcommand -->這是就象我們在ado中使用的一樣的通常的command物件.你可以通過這個物件呼叫sql儲存過程或是sql查詢語句.

oledbdatareader -->這個類擁有非常大的重要性因為它提供了實際上的對資料庫底層資料集的訪問.當你呼叫oledbcommand的executereader方法的時候它就會被建立,.net beta2 sdk說不要直接建立這個類的物件.

現在你可以在.net beta 2的文件中看到更多的關於這些主要物件的說明,下面是指出如何在程式中訪問資料庫的源**.

using system;

using system.data.oledb;

class oledbtest

//關閉reader物件

areader.close();

//關閉連線,這很重要

aconnection.close();

}//一些通常的異常處理

catch(oledbexception e)

", e.errors[0].message);}}

}成功執行這個程式的步驟

1.用msaccess建立乙個名叫db1.mdb的資料庫

2.建立乙個名叫emp_test的表單

3.使它包含下列資料域

emp_code int

emp_name text

emp_ext text

4.將上面的**儲存到sample.cs檔案中

5.確保資料庫位於c:\並確保mdac2.6或是更新的版本已經被安裝

6.編譯執行

現在讓我們來了解一些我們在oledbconnection物件的建構函式看到的東西的一些細節,在這裡你看見諸如"provider="之類的東西.下面是一些和ado.net相容的驅動程式型別.

sqlolddb --> microsoft ole db provider for sql server,

msdaora --> microsoft ole db provider for oracle,

microsoft.jet.oledb.4.0 --> ole db provider for microsoft jet

你可以選擇其中的任何乙個但是他們會需要傳遞不同的引數,例如jet.oledb.需要傳遞mdb檔案的名字而sqloledb需要傳遞使用者名稱和密碼.

所有這些驅動程式都位於system.data.oledb命名空間裡,所以你必須包括它,而且它們和oledb provider for odbc不相容,也就是說你不能在vb6.0程式裡使用這些驅動程式來訪問資料庫,所以不要去尋找解釋為什麼要把這些資料庫放在c:\上的資料了

當你使用microsoft sql server 7.0 或者更新版本的時候,下面是微軟給出的一些指導:

推薦使用.net data provider在下列情況中,使用microsoft sql server 7.0 或者更新版本的中間層應用程式,使用microsoft data engine (msde)或icrosoft sql server 7.0 或者更新版本的單層應用程式.

建議將ole db provider for sql server (sqloledb)和ole db .net data provider一起使用.

對於microsoft sql server 6.5和更早的版本,你必須同時使用ole db provider for sql server 和 ole db.net data provider.

推薦使用microsoft sql server 6.5和更早的版本或是oracle的中間層應用程式使用ole db .net data provider.

對於microsoft sql server 7.0 或者更新版本,推薦sql server .net data provider.

推薦單層應用程式使用microsoft access資料庫.

不推薦乙個中間層程式同時使用ole db .net data provider和microsoft access資料庫.

不再支援ole db provider for odbc (msdasql)

C 訪問Access資料庫

我編寫這個程式的動機是當我希望用c sharp訪問msaccess資料庫的時候我沒有辦法獲得任何資訊和參考材料.網上所能獲得的所有材料都是偏重於sql的,所以我們將分兩步來編寫這個應用程式,第一我們將展示如何連線到msaccess資料庫然後看看它有多複雜.最後,我們就這樣完成了這個程式.閒言少序,讓...

c 訪問Access資料庫

using system using system.io using system.collections using system.data using system.data.oledb namespace exam manage.dal protected static string conn...

用C 訪問Access資料庫

我編寫這個程式的動機是當我希望用c sharp訪問msaccess資料庫的時候我沒有辦法獲得任何資訊和參考材料.網上所能獲得的所有材料都是偏重於sql的,所以我們將分兩步來編寫這個應用程式,第一我們將展示如何連線到msaccess資料庫然後看看它有多複雜.最後,我們就這樣完成了這個程式.閒言少序,讓...