C#連接數(shù)據(jù)庫(kù)的方法簡(jiǎn)介
VS2005 連接ACCESS,SQL SERVER,ORACLE數(shù)據(jù)庫(kù)測(cè)試通過(guò)。
下面我們開始介紹c#連接數(shù)據(jù)庫(kù):
首先我們新建立一個(gè)項(xiàng)目,填加一個(gè)類,專門用做數(shù)據(jù)庫(kù)連接用。
這里我們給這個(gè)類起名叫DataBase.cs,下面是這個(gè)類的內(nèi)容。
Web.config配置
- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.Data.OleDb; //這一行是我們手動(dòng)添加上去的
- /// < summary>
- /// DataBase 的摘要說(shuō)明
- /// < /summary>
- public class DataBase
- {
- //定義一個(gè)靜態(tài)的OleDbConnection對(duì)象
- private static OleDbConnection con = null;
- //定義一個(gè)靜態(tài)的字符串
- private static string conStr = null;
- /// < summary>
- /// 得到 con 連接,默認(rèn)獲取conStr
- /// < /summary>
- public static OleDbConnection Con
- {
- get
- {
- GetCon();
- return con;
- }
- }
- /// < summary>
- /// 得到 con 連接,默認(rèn)獲取conStr
- /// < /summary>
- private static void GetCon()
- {
- //從Web.config文件中獲取數(shù)據(jù)庫(kù)連接字符串,Web.config文件內(nèi)容我們?cè)诤竺娼o出
- //需要注意的是ConnectionStrings["conStr"]中的"conStr"必須
- //和Web.config中連接字符串的name保持一致,后面我們也會(huì)說(shuō)到
- conStr = ConfigurationManager.ConnectionStrings["conStr"].ToString();
- //如果con對(duì)象為空則創(chuàng)建
- if (con == null)
- {
- con = new OleDbConnection(conStr);
- }
- //如果con的狀態(tài)不為打開狀態(tài),則將其Open
- if (con.State != ConnectionState.Open)
- {
- con.Open();
- }
- }
- /// < summary>
- /// 關(guān)閉數(shù)據(jù)庫(kù)連接
- /// < /summary>
- public static void Close()
- {
- //如果con不為空,判斷con的狀態(tài)是否關(guān)閉,如否,則將其關(guān)閉
- if (con != null)
- {
- if (con.State != ConnectionState.Closed)
- {
- con.Close();
- }
- con.Dispose();
- con = null;
- }
- }
- }
到這里我們的數(shù)據(jù)庫(kù)連接類基本上就寫完了,比較簡(jiǎn)單,這里只做數(shù)據(jù)庫(kù)連接用,下面我把Web.config文件的配置內(nèi)容給大家列出來(lái).Web.config文件的配置也非常簡(jiǎn)單,大家只用配置一下< connectionStrings/>節(jié)點(diǎn),具體將其改成這樣:
注意這里的name="conStr",這里的"conStr"必須和我們前面所說(shuō)的ConnectionStrings["conStr"]保持一致,但是可以隨意定義名稱,就是說(shuō)如果name="aaa",后面也必須為ConnectionStrings["aaa"]。name="aabb",后面也必須為ConnectionStrings["aabb"]。
- < connectionStrings>
- < add name="conStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\newtest\ProjectCheck\DataBase\database.mdb;Persist Security Info=True"/>
- < /connectionStrings>
name說(shuō)完了,我們connectionString="...",就是上面紅色的那一串就是我們數(shù)據(jù)庫(kù)的連接字符串,我這里是用的access數(shù)據(jù)庫(kù)的連接字符串,在" "中間填入你想連接的數(shù)據(jù)庫(kù)連接字符串就可以連接你想連的數(shù)據(jù)庫(kù)了。好,我們接著講,啊?等等,你不知道你的連接字符串怎么寫?好,那我就來(lái)教大家一個(gè)絕招。
C#連接數(shù)據(jù)庫(kù):連接字符串
我們?cè)谧烂嫔宵c(diǎn)右鍵,新建一個(gè)文本文件。然后我們選中那個(gè)文件按F2,呵呵,就是改名拉,將名字改成aaa.udl。然后我們雙擊這個(gè)文件,然后點(diǎn)擊提供程序,看吧,出現(xiàn)了很多數(shù)據(jù)庫(kù)連接是不是?選你自己想連的數(shù)據(jù)庫(kù)。
如果你跟我一樣是連access,你就選Microsoft Jet4.0 OLE DB Provider,
如果是連sql server,就選Microsoft OLE DB Provider for SQL Server,
如果連Oracle,就選Microsoft OLE DB Provider for Oracle,
然后下一步,填入你的數(shù)據(jù)庫(kù)路徑,數(shù)據(jù)庫(kù)的登陸名和密碼,然后點(diǎn)測(cè)試連接,測(cè)試通過(guò),OK,現(xiàn)在請(qǐng)注意,一定要把允許保存密碼的勾打上,不然等會(huì)連的時(shí)候會(huì)找不到密碼,提示你用戶名密碼出錯(cuò)的,然后確定。再用記事本打開aaa.udl文件,看,連接字符串出來(lái)了,最后一行就是的,easy吧,我們把最后一行(也就是Provider開頭的那一行)復(fù)制到Web.config文件中的connectionString=""的兩個(gè)"中間,好,這就OK了~
C#連接數(shù)據(jù)庫(kù):調(diào)用方法
因?yàn)槲覀兪褂玫氖庆o態(tài)方法,所以我們調(diào)用的時(shí)候只需要通過(guò)類名.Con也就是 DataBase.Con 就能得到這個(gè)數(shù)據(jù)庫(kù)連接了,使用 DataBase.Close()則可關(guān)閉連接,其實(shí)可以盡量不關(guān)閉這個(gè)連接,因?yàn)槲覀兪褂玫氖庆o態(tài)對(duì)象,所有數(shù)據(jù)庫(kù)操作都使用這個(gè)連接,不會(huì)造成服務(wù)器資源浪費(fèi),如果數(shù)據(jù)庫(kù)操作頻繁更能體現(xiàn)出這種方法的優(yōu)勢(shì)。
【編輯推薦】