麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Access > 正文

用C#訪問Access數據庫

2024-09-07 19:04:56
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!
我編寫這個程序的動機是當我希望用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{

public static void main()
{
//創建數據庫連接
oledbconnection aconnection = new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=c://db1.mdb");

//創建command對象并保存sql查詢語句
oledbcommand acommand = new oledbcommand("select * from emp_test", aconnection);
try
{
aconnection.open();

//創建datareader 對象來連接到表單
oledbdatareader areader = acommand.executereader();
console.writeline("this is the returned data from emp_test table");

//循環遍歷數據庫
while(areader.read())
{
console.writeline(areader.getint32(0).tostring());
}

//關閉reader對象
areader.close();

//關閉連接,這很重要
aconnection.close();
}

//一些通常的異常處理
catch(oledbexception e)
{
console.writeline("error: {0}", 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) 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品视频网址 | 欧美大胆xxxx肉体摄影 | 日本羞羞影院 | 久久探花| 久久99国产精品久久99 | 免费视频a| 精品久久久久久成人av | av电影免费播放 | 国产男女 爽爽爽爽视频 | 免费看一级片 | 久久69精品久久久久久国产越南 | 午夜国产福利 | 新久草在线视频 | 91羞羞| 欧美日韩在线中文 | 成人免费福利网站 | 中国产一级毛片 | 黄色男女视频 | 国产亚洲美女精品久久久2020 | 九色在线78m | 好吊色37pao在线观看 | 久久久久久久久国产精品 | 九九热国产视频 | 久久久久99一区二区三区 | 欧美大电影免费观看 | 91精品国产91久久久久久丝袜 | 久久人添人人爽人人爽人人片av | 黄色片网站在线播放 | 一区二区网 | 久久成人免费观看 | 欧美激情在线播放 | 久久777国产线看观看精品 | 亚洲成人在线免费 | www.91sese| 未成年人在线观看 | 中文字幕 欧美 日韩 | 91精品国产九九九久久久亚洲 | 在线观看免费污视频 | av久草 | 精品亚洲午夜久久久久91 | 久久久久亚洲美女啪啪 |